# C.(run0 (callcc (fun k -> unit (1,`Box k)) >>= fun (p1,`Box p2) -> p2 (2,`Box unit) >>= fun p2' -> unit (p1,p2')));;
- : int * (int * [ `Box of 'b -> ('a, 'b) C.m ] as 'b) as 'a =
# C.(run0 (callcc (fun k -> unit (1,`Box k)) >>= fun (p1,`Box p2) -> p2 (2,`Box unit) >>= fun p2' -> unit (p1,p2')));;
- : int * (int * [ `Box of 'b -> ('a, 'b) C.m ] as 'b) as 'a =