handles provide a means to create handles that refer to update-able
handles is a state monad. It provides features to create several
handles that refer to modifiable value and features to 'get', 'put' or
'update' this value.
redefines monad.infix >>=:
monadic operator within the same monad
Apply f to elements of type A and re-wrap them in this monad.
create a new instance with one additional handle
the new handle can be accessed by 'result.last'
create a new instance with new value refered to by a given handle
create a new instance with the value refered to by a given handle read and