// ets_tracing: off import type { DictionaryURI } from "../../../Modules/index.js" import type { URI } from "../../../Prelude/index.js" import * as P from "../../../Prelude/index.js" import { compact, compactF, compactWithIndexF, foldMap, foldMapWithIndex, forEachF, forEachWithIndexF, map, mapWithIndex, reduce, reduceRight, reduceRightWithIndex, reduceWithIndex, separate, separateF, separateWithIndexF } from "./operations.js" export const Covariant = P.instance]>>({ map }) export const CovariantWithIndex = P.instance< P.CovariantWithIndex<[URI]> >({ mapWithIndex }) export const ForEach = P.instance]>>({ map, forEachF }) export const ForEachWithIndex = P.instance]>>({ map, forEachWithIndexF }) export const Reduce = P.instance]>>({ reduce }) export const ReduceRight = P.instance]>>({ reduceRight }) export const ReduceWithIndex = P.instance]>>({ reduceWithIndex }) export const ReduceRightWithIndex = P.instance< P.ReduceRightWithIndex<[URI]> >({ reduceRightWithIndex }) export const FoldMap = P.instance]>>({ foldMap }) export const FoldMapWithIndex = P.instance]>>({ foldMapWithIndex }) export const Foldable = P.instance]>>({ ...FoldMap, ...Reduce, ...ReduceRight }) export const FoldableWithIndex = P.instance]>>({ ...FoldMapWithIndex, ...ReduceWithIndex, ...ReduceRightWithIndex }) export const Wiltable = P.instance]>>({ separateF }) export const WiltableWithIndex = P.instance]>>({ separateWithIndexF }) export const Witherable = P.instance]>>({ compactF }) export const WitherableWithIndex = P.instance< P.WitherableWithIndex<[URI]> >({ compactWithIndexF }) export const Compact = P.instance]>>({ compact }) export const Separate = P.instance]>>({ separate }) export const Compactable = P.instance]>>({ ...Separate, ...Compact })