sequence
puede definirse muy directamente como transversal con la función de identidad, en Haskell:
sequence = traverse id
O en Scalaz 6 (desde su segundo enlace arriba), el considerablemente más detallado:
def sequence[N[_], B](implicit
a: A <:< N[B],
t: Traverse[M],
n: Applicative[N]
): N[M[B]] = traverse((z: A) => (z: N[B]))
Entonces, sí, se puede secuenciar cualquier tipo con una instancia atravesable (y ni siquiera necesita ser una mónada).