Module Private.Callback

type 'a effect := 'a t
type ('a, 'b) t
val make : request:'a -> on_response:('b -> Base.unit effect) -> on_exn:(Base.Exn.t -> Base.unit) -> ('a, 'b) t
val request : ('a, 'b) t -> 'a
val respond_to : ('a, 'b) t -> 'b -> Base.unit effect
val on_exn : (_, _) t -> Base.Exn.t -> Base.unit