The identity monad as a stub for blocking computations.

Using this module in lifting will not change the blocking characteristics of the backend. It's here merely to facilitate interoperability.

include S.IO
type +'a t

The type of blocking computation that will produce a value of type 'a

val return : 'a -> 'a t
val (>>=) : 'a t -> ('a -> 'b t) -> 'b t
val run : 'a t -> 'a

run m "runs" the computation within the identity monad, returning the value.