How about making a note on the corresponding <specification>, like this?

The mutable fields can be modified, whereas any attempt to modify the values
of the immutable fields via mutators signals an error.
Note: The immutable fields are not literally immutable.  Their values, for
          instance, can be modified by other fields whose values work as a kind of
          private methods.


2009/9/17, Donovan Kolbly <>:
On Wed, Sep 16, 2009 at 1:36 PM, Robby Findler
<> wrote:
> I'm not sure if this is what's being asked, but I too think of
> "immutable" as "cannot change" (which is in line with the English
> meaning of the word).
> Robby

I'll third or fourth that motion.  "immutable" carries a very
different semantic that will lead to nothing but confusion if used in
the way being proposed in this SRFI.

RScheme's object system has a concept of immutable slots exactly for
the reason someone mentioned earlier -- it's advise to the compiler
that the value will not change, and hence the value can be cached and
it's known that calls through an unknown function will not change it
either.  (IIRC, this idea was taken directly from Dylan)

-- Donovan