¿Es posible extender un objeto individual en Smalltalk

Estoy investigando en la reflexión de Smalltalk, y me preguntaba si sería posible extender un objeto individual como ese, por ejemplo, en Ruby. Con esto me refiero a un selector al que solo responden objetos particulares.

Aquí hay un código de Ruby que establece lo que quiero decir. Para aclaración: en Ruby, abra una clase virtual para este objeto y la amplíe con una nueva definición. ¡La parte vital aquí es que nada cambia a la definición de clase!

o = Object.new
o.instance_eval {def foo;puts "foo";end}
o.foo #=> "foo"

#however this will fail:
m = Object.new
m.foo #=> NoMethod error

Más específicamente, mi pregunta es si esto es posible en Squeak / Pharo u otras implementaciones de pequeñas conversaciones, sin agregar estructuras o códigos sustanciales para permitir esto. Así que con otras palabras con características de reflexión regulares que existen en Smalltalk.

Como ejemplo, es posible agregar métodos, eliminar métodos, compilar código nuevo en una clase, cambiar variables de instancia y casi cualquier cosa, pero no he encontrado una manera de extender un solo objeto.

Test addInstVarNamed: #var.
Test compile: 'var ^var'.
t:= Test new.
Test instVarNames.
t instVarNamed: #var put: 666. 
t var. #=> 666

Si la respuesta es no, entonces explica por qué. No busco resolver este problema, sino entender por qué no lo es en pequeñas palabras.

Respuestas a la pregunta(6)

Su respuesta a la pregunta