sequence
アイデンティティ関数とのトラバーサルとして非常に単純に定義することができます。
sequence = traverse id
またはScalaz 6(上記の2番目のリンクから)では、かなり冗長です。
def sequence[N[_], B](implicit
a: A <:< N[B],
t: Traverse[M],
n: Applicative[N]
): N[M[B]] = traverse((z: A) => (z: N[B]))
したがって、はい、トラバー可能なインスタンスを持つ任意のタイプをシーケンスすることができます(そして、モナドである必要さえありません)。