module Condition:sig..end
This module implements monadic
 condition computations. They can be used
 to write waiting code that is compatible
 with duppy's tasks, i.e. Condition.wait c m blocks
 the calling computation and not the calling thread
 until Condition.signal c or Condition.broadcast c has 
 been called.
module Factory: