Remove tree evaluation
Separate compiler
Implement defn