/** * @since 2.0.0 */ import { HKT, Kind, Kind2, Kind3, Kind4, URIS, URIS2, URIS3, URIS4 } from './HKT.js'; /** * @category model * @since 2.0.0 */ export interface Contravariant { readonly URI: F; readonly contramap: (fa: HKT, f: (b: B) => A) => HKT; } /** * @category model * @since 2.0.0 */ export interface Contravariant1 { readonly URI: F; readonly contramap: (fa: Kind, f: (b: B) => A) => Kind; } /** * @category model * @since 2.0.0 */ export interface Contravariant2 { readonly URI: F; readonly contramap: (fa: Kind2, f: (b: B) => A) => Kind2; } /** * @category model * @since 2.0.0 */ export interface Contravariant2C { readonly URI: F; readonly _E: E; readonly contramap: (fa: Kind2, f: (b: B) => A) => Kind2; } /** * @category model * @since 2.0.0 */ export interface Contravariant3 { readonly URI: F; readonly contramap: (fa: Kind3, f: (b: B) => A) => Kind3; } /** * @category model * @since 2.2.0 */ export interface Contravariant3C { readonly URI: F; readonly _E: E; readonly contramap: (fa: Kind3, f: (b: B) => A) => Kind3; } /** * @category model * @since 2.0.0 */ export interface Contravariant4 { readonly URI: F; readonly contramap: (fa: Kind4, f: (b: B) => A) => Kind4; }