UniValue as a class could take advantage of C++11 move semantics to improve efficiency in some cases. (It is probably not very relevant in practice and for Bitcoin Core, but would still be nice to have.)
What do you think, would that make sense to add? (If yes, then I'm happy to provide a PR for it.)