code: @Override
      public <R> Try<R> flatMap(ThrowableFunction1<T, Try<R>> function) {
          try {
              return function.apply(value);
          }
          catch(Throwable t) {
              return new Failure<>(t);
          }
      }
docs: Applies the value to the function and returns the {@link Try} generated by the function.
  
  @since 1.2