initial tests and fixes. TODO: remove all __slots__ dont optimize prematurely