code: private static Node binaryOp(Token token, Node expr1, Node expr2) {
      checkState(mayBeExpression(expr1), expr1);
      checkState(mayBeExpression(expr2), expr2);
      return new Node(token, expr1, expr2);
    }
docs: helper methods