module Cc:The type of monadic values.sig..end
type 'a m
type 'a prompt
val return : 'a -> 'a mreturn a_valueval bind : 'a m -> ('a -> 'b m) -> 'b mval run : 'a m -> 'aval new_prompt : unit -> 'a prompt mval pushP : 'a prompt -> 'a m -> 'a mval shiftP : 'a prompt -> (('b m -> 'a m) -> 'a m) -> 'b m