code: def _binary_exp(expression, op):
      # type: (QuilParser.ExpressionContext, Callable) -> Number
      
      [arg1, arg2] = expression.expression()
      return op(_expression(arg1), _expression(arg2))
docs: Apply an operator to two expressions. Start by evaluating both sides of the operator.