interface ( Object [Type ( supertypes « (Object), // only type that can be its own supertype instance « ( [attributes [Associative-Vector (Index-type « Identifier, Item-type « Immutable-Object)] ] « ( type Type ), [receives [Associative-Vector (Index-type « Message-Identifier, Item-type « Message-Handler)] ] « ( [instance-of? (type Type)] ( replies Boolean ) ), [sends [Associative-Vector (Index-type « Message-Identifier, Item-type « Message-Emitter)] ] « () ), receives « ( [same-object? (first Object, second Object)] ( replies Boolean ) ), operators « ( [[left Object] ≡ [right Object]] « [same-object? (first « left, second « right)] ) )], Immutable-Object [Immutable-Type (supertypes « (Object))] )