a-foundation/src/main/java/com/ajjpj/afoundation/concurrent/AFutureImpl.java
@Override public <S> AFuture<S> map (AThreadPool tp, AFunction1<T, S, ?> f) {
        final AFutureImpl<S> result = new AFutureImpl<> (tp);

        onComplete (tp, v -> {
            try {
                result.complete (v.map (f));
            }
            catch (Throwable th) {
                result.completeAsFailure (th);
            }
        });

        return result;
    }
@Override public <S> AFuture<S> map (AThreadPool tp, AFunction1<T, S, ?> f) {
        final AFutureImpl<S> result = new AFutureImpl<> (tp);

        onComplete (tp, v -> {
            try {
                result.complete (v.map (f));
            }
            catch (Throwable th) {
                result.completeAsFailure (th);
            }
        });

        return result;
    }
}