Единица - это естественное преобразование функтора Identity на C в List;в общем случае естественное преобразование a: F => G между двумя параллельными функторами F, G: X -> Y состоит из
- для каждого объекта x: X области, морфизма a_x: Fx-> Gx
- плюс условие естественности, связывающее действие F и G на морфизмы
Вы должны думать о естественном преобразовании, как указано выше, как о способе «перехода» от F кG. Применяя это к вашему устройству для ситуации List, Unit определяет для каждого типа X функцию Unit_X: X -> List [X], и это просто просмотр экземпляров вашего типа как экземпляров List [X] с одним элементом.
Я не понимаю, что вы спрашиваете именно о б.но в отношении с.это совершенно разные вещи.Нет карты от int до List [int], подразумеваемой в определении;то, что дает определение, для каждой карты f: X -> Y - карта List (f): List [X] -> List [Y];то, что дает вам Unit, - это способ просмотра любого типа X как определенного вида списков X, имеющих один элемент.
Надеюсь, это поможет;из используемой вами нотации List [], возможно, вы пришли из Scala / Java, если это так, вы можете найти это введение в теорию категорий в Scala интересным: http://www.weiglewilczek.com/blog/?p=2760