// ets_tracing: off import type { ListURI } from "../../../Modules/index.js" import type { URI } from "../../../Prelude/index.js" import * as P from "../../../Prelude/index.js" import * as L from "./operations.js" export const Any = P.instance]>>({ any: () => L.of({}) }) export const AssociativeBothZip = P.instance]>>({ both: L.zip }) export const AssociativeFlatten = P.instance]>>({ flatten: L.flatten }) export const Covariant = P.instance]>>({ map: L.map }) export const Monad = P.instance]>>({ ...Any, ...Covariant, ...AssociativeFlatten }) export const Applicative = P.getApplicativeF(Monad) export const ApplyZip = P.instance]>>({ ...Covariant, ...AssociativeBothZip }) export const ForEach = P.instance]>>({ map: L.map, forEachF: L.forEachF }) export const Wiltable = P.instance]>>({ separateF: L.separateF }) export const Witherable = P.instance]>>({ compactF: L.compactF }) export const Compact = P.instance]>>({ compact: L.compact }) export const Separate = P.instance]>>({ separate: L.separate }) export const Reduce = P.instance]>>({ reduce: L.reduce }) export const ReduceRight = P.instance]>>({ reduceRight: L.reduceRight }) export const FoldMap = P.instance]>>({ foldMap: L.foldMap }) export const Foldable = P.instance]>>({ ...FoldMap, ...Reduce, ...ReduceRight }) export const Filter = P.instance]>>({ filter: L.filter }) export const FilterMap = P.instance]>>({ filterMap: L.filterMap }) export const Partition = P.instance]>>({ partition: L.partition }) export const PartitionMap = P.instance]>>({ partitionMap: L.partitionMap }) export const Filterable = P.instance]>>({ ...Filter, ...FilterMap, ...Partition, ...PartitionMap }) export const Collection = P.instance]>>({ builder: L.builder })