sig
  type ('a, 'b) continuation
  val fiber : ('-> 'b) -> ('a, 'b) Effect.Shallow.continuation
  type ('a, 'b) handler = {
    retc : '-> 'b;
    exnc : exn -> 'b;
    effc :
      'c. 'Effect.t -> (('c, 'a) Effect.Shallow.continuation -> 'b) option;
  }
  val continue_with :
    ('c, 'a) Effect.Shallow.continuation ->
    '-> ('a, 'b) Effect.Shallow.handler -> 'b
  val discontinue_with :
    ('c, 'a) Effect.Shallow.continuation ->
    exn -> ('a, 'b) Effect.Shallow.handler -> 'b
  val discontinue_with_backtrace :
    ('a, 'b) Effect.Shallow.continuation ->
    exn ->
    Stdlib.Printexc.raw_backtrace -> ('b, 'c) Effect.Shallow.handler -> 'c
  external get_callstack :
    ('a, 'b) Effect.Shallow.continuation ->
    int -> Stdlib.Printexc.raw_backtrace = "caml_get_continuation_callstack"
end