Expression tree memory strategy
We will use new and delete to allocate and free nodes as usual
Whenever we construct a new node from an old one, the new one will free the old one when it goes
- Necessary but not completely satisfactory
- Good enough for now