Binary arithmetic expressions, with tests, borrowed and adapted from RubySharp