import { fromEquals } from "@principia/prelude/Eq"; import type { Eq } from "./model"; /* * ------------------------------------------- * Contravariant Eq * ------------------------------------------- */ export const contramap_ = (fa: Eq, f: (b: B) => A): Eq => fromEquals((x, y) => fa.equals_(f(x), f(y))); export const contramap = (f: (b: B) => A) => (fa: Eq): Eq => contramap_(fa, f);