Здравствуйте, Курилка, Вы писали:
Отличная заметка. Вообще реализуя некоторый тип
data X a = X0 | X1 a -- | возможно, ещё конструкторы
стоит подумать, не будет ли удобнее более простой
data X a = X1 a -- | возможно, ещё конструкторы
плюс использование Maybe для целей, для которых мы планировали использовать X0.
Если X0, конечно, не сильно зацелен за остальные конструкторы, а играет роль отдельно живущего NULL.