def fresh(rc: Region[r], x: a): Ref[a, r] \ r
Returns a new reference to x in the region rc.
x
rc
def get(rf: Ref[a, r]): a \ r
Returns the element referenced by rf.
rf
def put(x: a, rf: Ref[a, r]): Unit \ r
Updates rf to reference x.
def transform(f: a -> a \ ef, rf: Ref[a, r]): Unit \ r + ef
Updates rf to reference f applied to the value referenced by rf.
f
I.e. if rf references x then rf is updated to reference f(x).
f(x)