Module Domain.Context

type t
val level : t -> int
val copy : t -> t
val assign : t -> t -> unit
type 'a in_tuple
type empty_tuple
val empty_tuple : unit -> empty_tuple in_tuple
type 'a in_acc = bool * 'a in_tuple
type 'a out_tuple
type (!'a, !'b) result =
  1. | Result : bool * 'some in_tuple * (t -> 'some out_tuple -> 'a0 * 'b0 out_tuple) -> ('a0, 'b0) result