See https://bugs.ruby-lang.org/issues/19424#note-11
The idea comes from truffleruby/truffleruby#2702 (comment)
I think this would be a nice simplification, and would be more intuitive performance-wise.
Defining methods dynamically is extremely expensive (also even just forcing a singleton class is expensive as well), even more so on more optimizing Ruby implementations.
Slightly slower for all access but no hidden costs on defining new members/new instance seems better.
Any thought on that?
I should be able to provide a POC PR, just asking if there is known compatibility issue with that approach.