// ets_tracing: off
import type { IterableURI } from "../Modules/index.js"
import type { URI } from "../Prelude/index.js"
import * as P from "../Prelude/index.js"
import * as It from "./operations.js"
export const Any = P.instance
]>>({
any: () => It.of(undefined)
})
export const None = P.instance]>>({
never: () => It.never
})
export const Covariant = P.instance]>>({
map: It.map
})
export const AssociativeBoth = P.instance]>>({
both: It.zip
})
export const AssociativeFlatten = P.instance]>>({
flatten: It.flatten
})
export const Applicative = P.instance]>>({
...Any,
...Covariant,
...AssociativeBoth
})
export const Monad = P.instance]>>({
...Any,
...Covariant,
...AssociativeFlatten
})
export const ForEach = P.instance]>>({
...Covariant,
forEachF: It.forEachF
})