/** * @tsplus static DSL apF_ */ export function apF_(F: Apply) { return ( fab: HKT.Kind B>, fa: HKT.Kind ): HKT.Kind => F.map(([a, f]: readonly [A, (a: A) => B]) => f(a))(F.both(fab)(fa)) } /** * @tsplus static DSL apF */ export function apF(F: Apply) { return (fa: HKT.Kind) => ( fab: HKT.Kind B> ): HKT.Kind => apF_(F)(fab, fa) }