А как ещё категорию сделать без равенств?
Сразу при "создании" категории, они каким-то образом должны быть определены.
Это я имел в виду, что не как обычно, делать рекорд и в него равенства пихать, а построить тип, содержащий категорный синтаксис, который потом будет интерпретироваться в конкретных категориях. Ну и в этот тип конструкторы-равенства добавить, чтобы их сохранение проверялось