code: private static Type getTypeOfSubtract(BinaryTree expression, VisitorState state) {
      Type expressionType = ASTHelpers.getType(expression.getLeftOperand());
      if (!ASTHelpers.isSameType(
          expressionType, ASTHelpers.getType(expression.getRightOperand()), state)) {
        return ASTHelpers.getType(expression);
      }
      return expressionType;
    }
docs: Compute the type of the subtract BinaryTree. We use the type of the left/right operand except
  when they're not the same, in which case we prefer the type of the expression. This ensures
  that a byte/short subtracted from another byte/short isn't regarded as an int.