effect-tree
    Preparing search index...

    Variable zipConst

    zip: {
        <A, B>(self: Tree<A>, that: Tree<B>): Tree<[A, B]>;
        <B>(that: Tree<B>): <A>(self: Tree<A>) => Tree<[A, B]>;
    } = ...

    Zip a pair of trees of types A and B into a single tree of [A, B].

    If their shapes do not match, the result will include only the intersection. Any nodes not on the shape of the intersection of the two trees will be discarded.

    See zipThese for a zip that does not crop and is therefore pleasantly associative.

    // Zip two trees of identical shape
    const left: Tree<string> = branch('a', [branch('b', [of('c')])]),
    right: Tree<number> = branch( 1 , [branch( 2 , [of( 3 )])])

    const zippedTree: Tree<[string, number]> = zip(left, right)
    // zippedTree = branch(
    // ['a', 1],
    // [branch(['b', 2], [of(['c', 3])])],
    // )

    // Zipping trees of different shapes crops to intersection
    const left: Tree<string> = branch('a', [branch('b', [of('c')])]),
    right: Tree<number> = leaf( 1 )
    const zippedTree: Tree<[string, number]> = pipe(right, zip(left))
    // zippedTree = leaf(['a', 1])

    Type Declaration