An owned ref T marks one reference as the object's owner. You can move that
ownership to another variable, but copying it would create a second owner, so
the compiler rejects the copy.
An ordinary ref T can be copied: each copy points to the same object. You can
create these ordinary references from an owner, and they can read or change the
object too. They keep it alive even after the owner is cleared or goes out of
scope. So owned tracks ownership, while ordinary refs allow shared access.