working version
compatibility improvements
tree_type does not inherit std::unique_ptr<expr>