Объятия здесь немного окольные. Фактическая проблема не в |
, а в подчеркивании в начале имен конструкторов - они не могут начинаться с подчеркивания. Это не просто соглашение, что конструкторы начинаются с заглавной буквы, а часть синтаксиса Haskell.
Мое лучшее предположение относительно того, что Хагс «думает», заключается в том, что, поскольку ваш первый конструктор не был назван правильно, когда вы предлагаете альтернативный конструктор впоследствии, Хагс говорит: «Подождите, я еще не видел действительного конструктора ! В чем дело?"
GHC дает более четкую ошибку:
types.hs:1:14: Not a constructor: `_Int'