After thinking about this some more, perhaps we need a :PostInit function that does these sort of tests after all initialization is complete (well, at least for a particular class and its sub-classes) and causes construction to fail if an object is not in a class invariant form.
Thanks,
Michael Goldshteyn
(2)
]
