/** * @tsplus static Tree.Aspects zipWith * @tsplus pipeable Tree zipWith */ export function zipWith(that: Tree, f: (a: A, b: B) => C) { return (self: Tree): Tree => { const value = f(self.value, that.value) return Tree(value, self.forest.zipWith(that.forest, (a, b) => a.zipWith(b, f))) } }