Now working, with 100% more std::move(s)