NB: Attempted to define this as Get[V]() extends AtomicRef[V, V]
but
when pattern matching (x: AtomicRef[A, B]) match { case Get() => }
scalac doesn't recognize that A =:= B.
Decorate AtomicRef operations by running an effect after each successful update.
Decorate AtomicRef operations by running an effect after each successful
update. Usage: onSet[V](effect)
Given a lens A -> B, lifts AtomicRef[B, ?] into any effect type providing AtomicRef[A, ?].
Given a lens A -> B, lifts AtomicRef[B, ?] into any effect type
providing AtomicRef[A, ?]. Usage: zoom(aLens).into[S]
.