/** * @since 2.0.0 */ import { HKT2, Kind2, Kind3, Kind4, URIS2, URIS3, URIS4 } from './HKT.js'; /** * @category model * @since 2.0.0 */ export interface Semigroupoid { readonly URI: F; readonly compose: (bc: HKT2, ab: HKT2) => HKT2; } /** * @category model * @since 2.0.0 */ export interface Semigroupoid2 { readonly URI: F; readonly compose: (ab: Kind2, la: Kind2) => Kind2; } /** * @category model * @since 2.0.0 */ export interface Semigroupoid2C { readonly URI: F; readonly _E: A; readonly compose: (ab: Kind2, la: Kind2) => Kind2; } /** * @category model * @since 2.0.0 */ export interface Semigroupoid3 { readonly URI: F; readonly compose: (ab: Kind3, la: Kind3) => Kind3; } /** * @category model * @since 2.2.0 */ export interface Semigroupoid3C { readonly URI: F; readonly _E: A; readonly compose: (ab: Kind3, la: Kind3) => Kind3; } /** * @category model * @since 2.0.0 */ export interface Semigroupoid4 { readonly URI: F; readonly compose: (ab: Kind4, la: Kind4) => Kind4; }