| Because variables are in charge of freeing their resources (if any), resources | |
| can only have *one* owner, otherwise resources would get freed more than once. | |
| When doing assignments `let x = y`, or passing function arguments by value | |
| `foo(x)`, the *ownership* of the resources, if any, is transferred; this is | |
| known as a "move" in Rust-speak. | |
| After moving resources, the previous owner can no longer be used. This avoids | |
| the creation of *dangling pointers*. | |
| {move.play} |