>> I tried changing all to `#:init-value', but the result was the same. > > Imo, using your definitions, guile should return 'foo, not 42.
IMO it should return 'bar, as `foo-a' should return the value of the slot `a', which in the subclass <bar> of <foo> is 'bar.