docs: private boolean is(Type formalType) {
      if (runtimeType.equals(formalType)) {
        return true;
      }
      if (formalType instanceof WildcardType) {
        // if "formalType" is <? extends Foo>, "this" can be:
        // Foo, SubFoo, <? extends Foo>, <? extends SubFoo>, <T extends Foo> or
        // <T extends SubFoo>.
        // if "formalType" is <? super Foo>, "this" can be:
        // Foo, SuperFoo, <? super Foo> or <? super SuperFoo>.
        return every(((WildcardType) formalType).getUpperBounds()).isSupertypeOf(runtimeType)
            && every(((WildcardType) formalType).getLowerBounds()).isSubtypeOf(runtimeType);
      }
      return false;
    }