/** * Zips `Maybe` and `Maybe` into `Maybe` using the provided zipper. * * @tsplus static Maybe.Aspects zipWith * @tsplus pipeable Maybe zipWith */ export function zipWith(that: Maybe, f: (a: A, b: B) => C) { return (self: Maybe): Maybe => self.flatMap((a) => that.map((b) => f(a, b))) }