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