specialise to IO monad
IO working
generalised to MonadTry
working
renamed runBracketC
allowed returning of non-unit values
Changed to class implementation