Make it actually run
Expr should be abstract
Make printing not awful
Switch to CMake for compiling