Positions are serialized as flat dicts, while the actual data structures can be (deeply) nested. Furthermore, serialization expects data to be unitful lengths, which is not enforced by the type system (nor is it the only interesting type of position)
We should change the dicts to reflect the nesting, as well as record potential units and further metadata such as dimension