Так Data.Map имеет dataCast2, что имеет смысл, поскольку имеет конструктор типа arity 2. dataCast1 по умолчанию - const Nothing. dataCast2 легко определяется как gcast2. Для справки: class Typeable a
Я пытаюсь узнать GHC Generics. Просмотрев несколько примеров, я хотел попытаться создать общий экземпляр Functor (без учета того, что GHC может автоматически их получить для меня). Однако я понял, что