import * as tsplus_module_1 from "@effect/core/stm/TMap/operations/fold";
import { concreteTSet } from "@effect/core/stm/TSet/operations/_internal/InternalTSet";
/**
 * Atomically folds using a pure function.
 *
 * @tsplus fluent ets/TSet fold
 */

export function fold_(self, zero, op) {
  void 0;
  return tsplus_module_1.fold_(self.tmap, zero, (acc, kv) => op(acc, kv.get(0)));
}
/**
 * Atomically folds using a pure function.
 *
 * @tsplus static ets/TSet/Aspects fold
 */

export const fold = (zero, op) => self => fold_(self, zero, op);
//# sourceMappingURL=fold.mjs.map