module Deep:sig..end
Deep handlers
type('a, 'b)continuation =('a, 'b) continuation
('a,'b) continuation is a delimited continuation that expects a 'a
      value and returns a 'b value.
val continue : ('a, 'b) continuation -> 'a -> 'bcontinue k x resumes the continuation k by passing x to k.
Continuation_already_resumed if the continuation has already been
      resumed.val discontinue : ('a, 'b) continuation -> exn -> 'bdiscontinue k e resumes the continuation k by raising the
      exception e in k.
Continuation_already_resumed if the continuation has already been
      resumed.val discontinue_with_backtrace : ('a, 'b) continuation ->
       exn -> Printexc.raw_backtrace -> 'bdiscontinue_with_backtrace k e bt resumes the continuation k by
      raising the exception e in k using bt as the origin for the
      exception.
Continuation_already_resumed if the continuation has already been
      resumed.type ('a, 'b) handler = {|    | retc :  | 
|    | exnc :  | 
|    | effc :  | 
}
('a,'b) handler is a handler record with three fields -- retc
      is the value handler, exnc handles exceptions, and effc handles the
      effects performed by the computation enclosed by the handler.
val match_with : ('c -> 'a) -> 'c -> ('a, 'b) handler -> 'bmatch_with f v h runs the computation f v in the handler h.
type 'a effect_handler = {|    | effc :  | 
}
'a effect_handler is a deep handler with an identity value handler
      fun x -> x and an exception handler that raises any exception
      fun e -> raise e.
val try_with : ('b -> 'a) -> 'b -> 'a effect_handler -> 'atry_with f v h runs the computation f v under the handler h.
val get_callstack : ('a, 'b) continuation -> int -> Printexc.raw_backtraceget_callstack c n returns a description of the top of the call stack on
      the continuation c, with at most n entries.