Thanks for the speedy response. The only question that remains is, once an invariant test fails, what should be done to abort object initialization in the :Init attributed function, here after referred to as _init(), in a way similar to how it is aborted if for example the type of one of the passed in arguments is wrong. Or perhaps, in a way similar to how any unexpected key/value pairs passed to new() cause creation to fail. Basically, short of doing an explicit die() call in _init(), since I am not even certain if this:
1) Is appropriate...
2) Won't be caught by OIO guts, which call _init and result in undefined and/or unexpected behavior
... what should I do to abort object construction and trigger a die() like bounce back to the client caller of new() from _init().
Thanks for the comments,