/** * @tsplus type Witherable */ export interface Witherable extends HKT.Typeclass { readonly Law: { readonly Witherable: "Witherable" } readonly compactF: Wither } /** * @tsplus type Wither */ export interface Wither { readonly Law: { readonly Wither: "Wither" } (F: Applicative): ( f: (a: A) => HKT.Kind> ) => ( ta: HKT.Kind ) => HKT.Kind> } /** * @tsplus type Witherable/Ops */ export interface WitherableOps {} export const Witherable: WitherableOps = {} /** * @tsplus static Witherable/Ops implementCompactF */ export function implementCompactF(): ( i: (_: { A: A B: B G: G FR: FR FE: FE }) => ( G: Applicative ) => ( f: (a: A) => HKT.Kind> ) => (ta: HKT.Kind) => HKT.Kind> ) => Wither export function implementCompactF() { return (i: any) => i() }