Fixed what does not work

Попробуйте внимательно почитать текст каждого коммита и его содержимое (diff, то есть разницу).
На самом деле все эти жуткого размера паттерн-матчинги вообще не нужны: достаточно породить Ord и немного подумать.