Add assertions to catch errors pre-emptively, add __len__ and generator methods