// ets_tracing: off import type { Either } from "@effect-ts/system/Either" import type * as Tp from "../../Collections/Immutable/Tuple/index.js" import type { Applicative } from "../Applicative/index.js" import type * as HKT from "../HKT/index.js" export interface WiltWithIndex { (F: Applicative): < GK, GQ, GW, GX, GI, GS, GR, GE, A, B, B2, FK >( f: ( k: HKT.IndexFor>, a: A ) => HKT.Kind> ) => ( ta: HKT.Kind ) => HKT.Kind< G, GC, GK, GQ, GW, GX, GI, GS, GR, GE, Tp.Tuple< [ HKT.Kind, HKT.Kind ] > > } export interface WiltableWithIndex extends HKT.Base { readonly _WiltableWithIndex: "WiltableWithIndex" readonly separateWithIndexF: WiltWithIndex } export function implementSeparateWithIndexF(): ( i: (_: { A: A B: B G: G FK: FK FQ: FQ FW: FW FX: FX FI: FI FS: FS FR: FR FE: FE }) => ( G: Applicative> ) => ( f: (k: HKT.IndexFor>, a: A) => HKT.HKT> ) => ( ta: HKT.Kind ) => HKT.HKT< G, Tp.Tuple< [ HKT.Kind, HKT.Kind ] > > ) => WiltWithIndex export function implementSeparateWithIndexF() { return (i: any) => i() }