Domain_sig.Monadic_Context
module Context : Context
val let* : ('a -> 'b * 'c) -> ('d -> 'e -> 'f) -> 'g -> 'h
type 'r ar0 = Context.t -> 'r * Context.t
type ('a, 'r) ar1 = 'a -> Context.t -> 'r * Context.t
type ('a, 'b, 'r) ar2 = 'a -> 'b -> Context.t -> 'r * Context.t
type ('a, 'b, 'c, 'r) ar3 = 'a -> 'b -> 'c -> Context.t -> 'r * Context.t
type ('a, 'r) variadic = 'a list -> Context.t -> 'r * Context.t