Sys.FiberA concurrency monad with an optional failure monad, or just the identity type constructor for blocking operation.
module Infix : sig ... endval return : 'a -> 'a tReturn operation of the concurrency monad.
finally f g runs f () and then runs g () whether the former finished, failed with an exception, or failed with a monadic failure.