// ets_tracing: off import type { Covariant } from "../Covariant/index.js" import type * as HKT from "../HKT/index.js" import type { IdentityBoth } from "../IdentityBoth/index.js" export interface ForEachWithIndexFn { (G: IdentityBoth & Covariant): < GK, GQ, GW, GX, GI, GS, GR, GE, A, B, FK >( f: ( k: HKT.IndexFor>, a: A ) => HKT.Kind ) => ( fa: HKT.Kind ) => HKT.Kind< G, GC, GK, GQ, GW, GX, GI, GS, GR, GE, HKT.Kind > } export interface ForEachWithIndex extends HKT.Base, Covariant { readonly _ForEachWithIndex: "ForEachWithIndex" readonly forEachWithIndexF: ForEachWithIndexFn } export function implementForEachWithIndexF(): ( i: (_: { A: A B: B G: G K: K Q: Q W: W X: X I: I S: S R: R E: E }) => ( G: IdentityBoth> & Covariant> ) => ( f: (k: HKT.IndexFor>, a: A) => HKT.HKT ) => ( fa: HKT.Kind ) => HKT.HKT> ) => ForEachWithIndexFn export function implementForEachWithIndexF() { return (i: any) => i() }