private static IEnumerable<Name> Key2ToMList(Name key) { while (key.IsComposed) { var c = key.GetFirstTerm(); yield return c; key = key.GetNTerm(1); } yield return key; }