We should define the predicate record? so that it's possible to distinguish instances of record types from all other types. It should not be necessary to enumerate all record type predicates in order to determine whether an object is an instance of a record.
This is Alexey Radul's suggestion.
See follow-up discussion on the mailing list.
WG1 decided not to add record?.
In R6RS there is the concept of an "opaque record type". Given an instance of such a type, it is not possible to recover the type descriptor. This also means that record? won't return #t on it. Such record types can be used to implement things like ports, certain kinds of numbers, and so on. They are also provided as an optional extension to SRFI 99 records.
I'm reluctant to disallow such record types by requiring record? to respond #t on all record instances.