Thanks for the response. (And Carlo, thanks).
someValue
^someValue ifNil: [ '' ]
I can agree with this approach, but it will be quite a bit of work as
we generally initialize to empty strings / default values and allow
direct instVar access.
Or protect against writing a "nil" value:
someValue: anObject
anObject
ifNil: [ someValue := '' ]
ifNotNil: [ someValue := anObject ]
I like the changing getters more, this one feels a bit unexpected.
Anyhow, also quite a bit of work for us.
But if you want to solve this on the magritte side,
the best solution would be to set the reader to a reader that does not return nil if an
empty string is written (stream atEnd).
Yes, sounds like the right way, thanks, will explore this.