When using GOOPS, if a class has a second slot, the #:getter procedure of the first slot returns the value of the second slot when applied to an instance of a subclass.
--8<---------------cut here---------------start------------->8--- (use-modules (oop goops)) (define-class <foo> () (a #:init-form 'foo #:getter foo-a) (b #:init-form 42)) (define-class <bar> (<foo>) (a #:init-form 'bar)) --8<---------------cut here---------------end--------------->8--- (foo-a (make <foo>)) => foo (foo-a (make <bar>)) => 42 I expected: (foo-a (make <bar>)) => bar I'm not too familiar with GOOPS, so I'm not sure this is the right behavior. I'm using Guile 2.0.11.
