Module Effect.Deep

type nonrec (!'a, !'b) continuation = ('a, 'b) continuation
val continue : ('a, 'b) continuation -> 'a -> 'b
val discontinue : ('a, 'b) continuation -> exn -> 'b
val discontinue_with_backtrace : ('a, 'b) continuation -> exn -> Printexc.raw_backtrace -> 'b
type (!'a, !'b) handler = {
  1. retc : 'a -> 'b;
  2. exnc : exn -> 'b;
  3. effc : 'c. 'c t -> (('c, 'b) continuation -> 'b) option;
}
val match_with : ('c -> 'a) -> 'c -> ('a, 'b) handler -> 'b
type !'a effect_handler = {
  1. effc : 'b. 'b t -> (('b, 'a) continuation -> 'a) option;
}
val try_with : ('b -> 'a) -> 'b -> 'a effect_handler -> 'a
val get_callstack : ('a, 'b) continuation -> int -> Printexc.raw_backtrace