functor (T : Basic3->
  sig
    val traverse : ('-> ('u, 'v, 'b) T.f) -> 'T.t -> ('u, 'v, 'T.t) T.f
    val traverse_ : ('-> ('u, 'v, 'b) T.f) -> 'T.t -> ('u, 'v, unit) T.f
    val sequence : ('a, 'b, 'c) T.f T.t -> ('a, 'b, 'T.t) T.f
    val sequence_ : ('a, 'b, 'c) T.f T.t -> ('a, 'b, unit) T.f
  end