```C++ std::unique_ptr<T> task(new U(1234)); auto ret = checkpoint::serialize<T>(*task); auto out = checkpoint::deserialize<T>(std::move(ret)); ``` @PhilMiller What do you think? Should we support this case? @nlslatt