/** * Retains bindings matching predicate and returns removed bindings. * * @tsplus static effect/core/stm/TMap.Aspects retainIf * @tsplus pipeable effect/core/stm/TMap retainIf */ export function retainIf(f: (kv: readonly [K, V]) => boolean) { return (self: TMap): STM> => self.removeIf((_) => !f(_)) }