Addresses issue #622.
Caveat is that __new__ should recurse to base class __new__, and ultimately, object.__new__ is what handles instance allocation.