/**
* Creates an array of array values not included in the other given array using
* an `Equivalence` for equality comparisons. The order and references of
* result values are determined by the first array.
*
* @tsplus static Chunk.Aspects difference
* @tsplus pipeable Chunk difference
*/
export function difference(
E: Equivalence,
that: Chunk
) {
return (self: Chunk): Chunk => self.filter((a) => !that.elem(E, a))
}