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