sig
  type _ t
  type (_, _, _) f
  val traverse : ('-> ('u, 'v, 'b) f) -> 'a t -> ('u, 'v, 'b t) f
  val traverse_ : ('-> ('u, 'v, 'b) f) -> 'a t -> ('u, 'v, unit) f
  val sequence : ('a, 'b, 'c) f t -> ('a, 'b, 'c t) f
  val sequence_ : ('a, 'b, 'c) f t -> ('a, 'b, unit) f
end