Wrap private member variables in AST nodes with boost::scoped_ptr