We're normalizing the `origin` attribute to be a real origin upon construction, but not when `set()` is called, or via a setter, which seems kind of inconsistent.