import type * as P from "@principia/prelude"; import * as HKT from "@principia/prelude/HKT"; import { unsafeCoerce } from "../Function"; import type { Const, URI, V } from "./model"; /* * ------------------------------------------- * Functor Const * ------------------------------------------- */ export const map_ = (fa: Const, _: (a: A) => B): Const => unsafeCoerce(fa); export const map = (_: (a: A) => B) => (fa: Const): Const => unsafeCoerce(fa); /** * @category Functor * @since 1.0.0 */ export const Functor: P.Functor<[URI], V> = HKT.instance({ map_: map_, map });