Shiro Kawai writes:

  (constructor x ...) => <instance>
     Constructor takes variable number of arguments, allocates instance
     large enough to hold them and initialize instance "slots" with x....

  (accessor <instance> n) => x
     Accessor takes index of the value.

  (modifier <instance> n x) => unspecfied
     Modifier replaces n-th value of instance with x.  Immutability of slots
     should be handled by the layer above this srfi.

While I think this is a reasonable design in itself, I also think it departs
too far from SRFI 137 as it is, so I've asked Art to go ahead and finalize
SRFI 137 with one additional detail that was implicit in the implementation
but not required by the SRFI:  a record belonging to a supertype
exposes its instance payload not only through its own accessor, but
also through the accessors of any subtypes.

John Cowan
        "You need a change: try Canada"  "You need a change: try China"
                --fortune cookies opened by a couple that I know