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