less standalone deriving
add Show Expr unit tests and update Show instances since the old ones weren't correct