get :: (ReadWriteShared r w) -> Task r | iTask r
set :: w (ReadWriteShared r w) -> Task w | iTask w
upd :: (r -> w) (ReadWriteShared r w) -> Task w | iTask r & iTask w
get :: (ReadWriteShared r w) -> Task r | iTask r
set :: w (ReadWriteShared r w) -> Task w | iTask w
upd :: (r -> w) (ReadWriteShared r w) -> Task w | iTask r & iTask w