I don't think the intention of this srfi is to mandate specific internal
type system of implementations; I read it as a layer on top of which
portable libraries of various record/object systems are written, but
each implementation can still have native efficient support of record
types. (At least that's what I'd do in Gauche if I support this srfi; the
types created by this srfi is just another classes in Gauche's object
system, distinct from natively supported srfi-99 record types.)
But I'd imagine that many existing implementations would do the
same, and the "portable" record system on top of this srfi may
not be as efficient as natively supportd record types (for example,
an implementation's native record types may use single structure
for RTTI and payload; if so, supporting constructor and accessor
incurs overhead of copying the payload), and they
won't be interoperable with natively supported one (in a sense that
there's no guarantee that you can make-subtype on implementation-
supported srfi-9 records, for example.)
I'm afraid that it makes such portable implementations less attractive
than the ones that chooses to be built on top of one of the existing
record systems.