docs: public Reflect call(String name, Object... args) throws ReflectException {
          Class<?>[] types = types(args);
  
          // Try invoking the "canonical" method, i.e. the one with exact
          // matching argument types
          try {
              Method method = exactMethod(name, types);
              return on(method, object, args);
          }
  
          // If there is no exact match, try to find a method that has a "similar"
          // signature if primitive argument types are converted to their wrappers
          catch (NoSuchMethodException e) {
              try {
                  Method method = similarMethod(name, types);
                  return on(method, object, args);
              } catch (NoSuchMethodException e1) {
                  throw new ReflectException(e1);
              }
          }
      }