Resumption and Reactive Resumption Monads for the Haskell Programming Language