Transform NEW into a macro, to get it a chance to be optimized.
qobject: Instead of using a dedicated DELETED slot, set POINTER to :deleted.
Remove PRIMITIVE class, it's only used for enums now.
Remove with-object, with-objects should be used instead.