Applies the function inside an applicative to the value of another applicative.
forall F, a, b:
(F (a) => b, F a) => F b
where F is Apply
Applies the function inside an applicative to the value of another applicative.
Applies the function inside an applicative to the value of another applicative.
Applies the function inside an applicative to the value of another applicative.
(applicativeFunction, applicativeValue) =>
isNew(applicativeValue) ? applicativeValue[ap](applicativeFunction)
: isOld(applicativeFunction) ? warn(applicativeFunction.ap(applicativeValue))
: /*otherwise*/ unsupported(applicativeFunction)