When I tried to build one AST from another (constant folding), I noticed, that there is unnecessary copy-construction at the time of the call the visitor. But the move-construction should be there, if we talk about the C++11/C++1y.
Are there any insurmountable difficulties to create the version of visitor/multivisitor, that supports universal references properly?