Added unit tests to assert correct expressions are evaluated to the
correct type
Added tests to assert some failure conditions for expressions