*Hello Damien.* Thanks for pointing them out and remembering me of those ones. I guess I misunderstood the meaning of the "predefined" word as mentioned before. Well, yes indeed the /generic/ accessor & mutator procedures (=slot-ref,slot-set!=) work very well with public fields, which is the default access modifier in Kawa anyway. But AFAIK they don't work with private or protected fields, as it is the case when using Java frameworks or libraries that usually follow a more "traditional"/Java-like OOP-Style in which fields are almost allways private/protected and hence require proper accessors/mutators. Therefore if your use case is not like this, they should work and serve you well. #+begin_src scheme ;; Defining a class with a private field (define-simple-class MyKlass () (v::vector #:access 'private) ((*init* (vparm::vector)) (set! v vparm))) ;; Trying to access the private field throws exception (! m1 (MyKlass #(1 2 3))) (slot-ref m1 'v) java.lang.RuntimeException: no such field v in my-klass at gnu.kawa.reflect.SlotGet.getSlotValue(SlotGet.java:188) at atInteractiveLevel-3.run(tty:3) at gnu.expr.ModuleExp.evalModule2(ModuleExp.java:290) at kawa.Shell.run(Shell.java:300) at kawa.Shell.run(Shell.java:183) at kawa.repl.processArgs(repl.java:724) at kawa.repl.main(repl.java:830) #+end_src *Greetings.*