Module Pvem (.ml)

module Pvem: sig .. end
Reusable Error Monads

module type ERROR_MONAD = sig .. end
The basic error monad signature.
module type RESULT = sig .. end
The signature of the Result module: ERROR_MONAD + exposed result type.
module Result: sig .. end
Implementation of RESULT
module type DEFERRED = sig .. end
The signature of a basic “thread” module called Deferred (like Lwt).
module type DEFERRED_RESULT = sig .. end
The result of the functor application: With_deferred(Deferred).
module With_deferred: 
functor (Deferred : DEFERRED) -> sig .. end