import type { Eq } from "@principia/prelude/Eq";
import type { Semigroup } from "@principia/prelude/Semigroup";
import { fromCombine } from "@principia/prelude/Semigroup";
import { intersection_ } from "./combinators";
/*
* -------------------------------------------
* Semigroup Set
* -------------------------------------------
*/
export const getIntersectionSemigroup = (E: Eq): Semigroup> => {
const intersectionE_ = intersection_(E);
return fromCombine((x, y) => intersectionE_(x, y));
};