Yep. And then you realise that "move semantics" aren't just a safety net that you have to "fight with" but actually a language feature against which you can develop/deploy desirable patterns.
A minor thing I noted reading your code snippets was that I immediately noticed, like at a gestalt level, the lack of ampersands (&) and therefore references and could immediately tell that this was a "faux-O"/pipline style system. Not too bad for a syntax often derided as messy/bad.