Channel operations (mainly sending) should have move semantics and only be allowed for unique things. This also applies to arguments to spawned functions, and probably the spawned function itself.