AnySequenceはSequenceプロトコルを満たす型をなんでも変換してAnySequenceにできて、それ自身Sequenceとして使える、という型で、その際にSequenceのassociated typeをAnySequenceの型パラメータに移している。AnySequenceから個別のSequenceに戻すときにはコピーをする。 @tarunon が作っているのは(なんでもEnumと仮称)、「case数とcaseごとのassociated valueの型」が同一であるenum型をなんでも変換できる型で、個別のEnum型がもっていたassociated valueの型を、なんでもEnumの型パラメータに移す(個数は型名自体に移す)、個別のEnum型に戻すときはコピーをする。 (edited)