Quirk and dirty attempt at implementing move for noncopyable types.
Doesn't seem to support passing rvalues by reference. Also needs more tests.