Costumo me fazer experiências no REPL e direi algo como:
subset Bar of Int where * %% 57;
Então brinco Barum pouco com as coisas boas.
Tudo é feliz, até eu perceber que quero mudar a definição de Bar.
Se eu apenas redefinir Bar, recebo uma Redeclaration of symbolexceção.
Eu tentei usar MONKEY-TYPINGe augmentassim:
use MONKEY-TYPING;
augment subset Bar of Int where * %% 37;
Mas isso me rendeu o mesmo erro.
Por que eu quero isso? Para que eu possa iterar nas definições do meu subconjunto (ou classe ou outro símbolo), enquanto reutilizo os testes que já digitei que estão no meu histórico.
use MONKEY-TYPINGeaugmentmas eles não funcionam corretamente no REPL (ainda?), Porque ele precisa de muita magia e fita de pato.