modify package:concurrent-extra

Modify the contents of an RWVar and return an additional value. Like modify_, but allows a value to be returned (β) in addition to the modified value of the RWVar.
Modify the contents of an RWVar. This function needs exclusive write access to the RWVar. Only one thread can modify an RWVar at the same time. All others will block.
Attempt to modify the contents of an RWVar and return an additional value. Like modify, but doesn't block. Returns Just the additional value if the contents could be replaced, Nothing otherwise.
Attempt to modify the contents of an RWVar. Like modify_, but doesn't block. Returns True if the contents could be replaced, False otherwise.