val pair : 'a t -> 'b t -> ('a * 'b) t
val option : 'a t -> 'a option t
val result : ok:'a t -> error:'b t -> ('a, 'b) result t
val list : 'a t -> 'a list t
val array : 'a t -> 'a array t
val field : ?label:string t -> string -> ('b -> 'a) -> 'a t -> 'b t
val record : 'a t list -> 'a t
val iter : (('a -> unit) -> 'b -> unit) -> 'b t -> 'a t -> 'b t
val iter_bindings :
(('a -> 'b -> unit) -> 'c -> unit) ->
'c t ->
'a t ->
'b t ->
'c t