Add an environment data structure and change eval to accept an environment param
add unwrap_leaf() method to Tree