code: @SafeVarargs
      public final <R> Try<R, X> flatMapOrCatch(CheckedFunction<? super T, ? extends Try<? extends R,X>,X> fn,Class<? extends X>... classes){
          return new Try<>(xor.flatMap(i->safeApplyM(i, fn.asFunction(),classes).toEither()),classes);
      }
docs: Perform a flatMapping operation that may catch the supplied Exception types
  The supplied Exception types are only applied during this map operation
  
  @param fn flatMapping function
  @param classes exception types to catch
  @param <R> return type of mapping function
  @return Try with result or caught exception