A type whose values can be relocated to different storage.
trait Movable
fun take_value(from source: sink Self) { set, inout }
Gives self the value of a consumed source.