set! can be used to set a public field on an instance with (set! (.field inst) val). This does not work inside a protocol function defined on a deftype with a mutable field for an instance of that type itself.
Cause: The type assigned in the bytecode at this point is the compile_stub type, not the expected class type.
Approach: Use getType(targetClass) instead of Type.getType(targetClass)
Screened by: Fogus