import { concreteTSet } from "@effect/core/stm/TSet/operations/_internal/InternalTSet" /** * Retains elements matching predicate. * * @tsplus static effect/core/stm/TSet.Aspects retainIfDiscard * @tsplus pipeable effect/core/stm/TSet retainIfDiscard */ export function retainIfDiscard(p: Predicate) { return (self: TSet): STM => { concreteTSet(self) return self.tmap.retainIfDiscard((kv) => p(kv[0])) } }