At this point, I have to restart my JVM to proceed, which is making incremental development of protocols-based code unusually tedious.

I initially encountered the behaviour using "C-c C-k" under slime/swank-clojure, but the above transcript is from a plain command-line repl, using a Clojure 1.2 snapshot from today. (The same thing happened with a snapshot from 2 weeks ago.)

When using "reify" inside a factory function instead of the constructor for a "deftype", everything works as expected.