/** * @since 2.0.0 */ import { HKT2, Kind2, Kind3, Kind4, URIS2, URIS3, URIS4 } from './HKT' /** * @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 }