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 ApplyApplies 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)