sequence
может быть очень понятно определен как обход с функцией идентичности - в Хаскелле:
sequence = traverse id
Или в Scalaz 6 (по вашей второй ссылке выше), значительно более многословный:
def sequence[N[_], B](implicit
a: A <:< N[B],
t: Traverse[M],
n: Applicative[N]
): N[M[B]] = traverse((z: A) => (z: N[B]))
Так что да, любой тип с обходным экземпляром может быть секвенирован (и он даже не должен быть монадой).