// ets_tracing: off import * as HKT from "../HKT/index.js" export interface Covariant extends HKT.Base { readonly _Covariant: "Covariant" readonly map: ( f: (a: A) => B ) => ( fa: HKT.Kind ) => HKT.Kind } export interface CovariantComposition< F extends HKT.URIS, G extends HKT.URIS, CF = HKT.Auto, CG = HKT.Auto > extends HKT.CompositionBase2 { readonly map: ( f: (a: A) => B ) => ( fa: HKT.Kind< F, CF, FK, FQ, FW, FX, FI, FS, FR, FE, HKT.Kind > ) => HKT.Kind< F, CF, FK, FQ, FW, FX, FI, FS, FR, FE, HKT.Kind > } export function getCovariantComposition< F extends HKT.URIS, G extends HKT.URIS, CF = HKT.Auto, CG = HKT.Auto >(F: Covariant, G: Covariant): CovariantComposition export function getCovariantComposition( F: Covariant>, G: Covariant> ) { return HKT.instance, HKT.UHKT>>({ map: (f) => F.map(G.map(f)) }) }