docs: public static Object add(Object arg1, Object arg2) throws NoSuchMethodException {
          int code1 = typeCode(arg1);
          int code2 = typeCode(arg2);
          int maxcode = (code1 < code2) ? code2 : code1;
          if (maxcode <= INT) {
              return boxToInteger(unboxCharOrInt(arg1, code1) + unboxCharOrInt(arg2, code2));
          }
          if (maxcode <= LONG) {
              return boxToLong(unboxCharOrLong(arg1, code1) + unboxCharOrLong(arg2, code2));
          }
          if (maxcode <= FLOAT) {
              return boxToFloat(unboxCharOrFloat(arg1, code1) + unboxCharOrFloat(arg2, code2));
          }
          if (maxcode <= DOUBLE) {
              return boxToDouble(unboxCharOrDouble(arg1, code1) + unboxCharOrDouble(arg2, code2));
          }
          throw new NoSuchMethodException();
      }