Currently, setting pos=None in the constructor will set all positions to the origin. There are few places in the code that rely on this behavior, but also some places where pos is not None is explicitly checked.
We need to decide if pos=None should be possible, and then either remove the pos is None checks or add them where they are missing.