class Fun {

    public static <T, R> Function<T, R>
    uncheck1(final @NotNull ThrowingFunction<? super T, ? extends R> mayThrowOnApply) {
        return input -> {
            try {
                return mayThrowOnApply.tryApply(input);
            } catch (Exception e) {
                throw new FunRuntimeException(e);
            }
        };
    }

    private  Fun();

}