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