- Do we gain enough from the phantom types to use them? What do we gain? What do we lose? - ~~Should they be tuple structs or enums?~~ enums for now, structs later if necessary. - ~~The `State` trait might need to be marked unsafe to follow the conventions of other libraries.~~ done