In addition to standard object actions, R3 allows:
append
extends the object with new word/value pairs (the input object is modified). New words must not already be fields of the object, or an error will result. Words can be word or set-word values. No binding is done on the data value parts (so words within blocks and functions do not get bound to the new context).
copy
clone the object. Deep copy all series within it. Currently, no rebinding is done. (Words within blocks and functions do not get bound to the new context.)
length?
return the number of instance variables. (Faster and less garbage than doing a length?first operation.)
Example of append:
>> a: make object! [b: 10]
>> append a [c: 20]
== make object! [
b: 10
c: 20
]