Refactor
Move expressions to own files
Cleanup
Make identity expressions assignable
Add tests
First draft of building expressions by value
Improvements now that the system is more robust
Remove debug messages