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