Yuriy:
2. class may be defined with @__monitor attribute, in which case a __monitor variable will be added to it's beginning.
I'd like to know why you think D classes should not have the monitor on default (this means why you don't plan for a @no_pointer).
Currently D classes have that pointer on default, so I think the exchange of the default should be justified with an explanation.
Most D classes are currently allocated on the heap by the D GC that has a minimal allocation size, so the save in memory is small.
Bye, bearophile