I believe the reason I ended up with this implementation is to make special methods like __int__, __complex__, etc work cleanly. This way, __int__ doesn't exist on an array of integers, but does on a single one.