It's pretty.
But if its unreadable and difficult to maintain, why keep it that way.
Array.insertAt/removeAt etc... should do the same job almost as fast now + implementing more object pooling features should be easier (such as fully destroying one object in a pool ?)