/** * Classic applicative. * * @tsplus static Maybe.Aspects ap * @tsplus pipeable Maybe ap */ export function ap(that: Maybe) { return (self: Maybe<(a: A) => B>): Maybe => self.isNone() ? Maybe.none : that.isNone() ? Maybe.none : Maybe.some(self.value(that.value)) }