/**
* Updates some values of the variable but leaves others alone.
*
* @tsplus static effect/core/stm/TRef.Aspects updateSome
* @tsplus pipeable effect/core/stm/TRef updateSome
*/
export function updateSome(pf: (a: A) => Maybe) {
return (self: TRef): STM => self.update((a) => pf(a).getOrElse(a))
}