Optional<R> call(final Optional<A> a, final Optional<B> b) { return a is Present<A> && b is Present<B> // @formatter:off ? of(mapper(a.value, b.value)) : empty(); //@formatter:on }