plutot que de rafiner MModule en comparable, puis utiliser un ComparableSorter, c'est sans doute mieux de définir son propre ModuleSorterByName et de l'utiliser directement

class ModuleSorterByName
super AbstractSorter[MModule]
redef fun compare(a,b) do return a.name <=> b.name
end

pareil pour les classes et le rester