Благодаря отличным ответам здесь, я понимаю (явно ограниченным образом) цель Haskell Maybe и что ее определение
data Maybe a = Nothing | Just a
однако я не являюсь понятным, почему именно Just является частью этого определения. Насколько я могу судить, именно здесь определяется Just, но соответствующая документация ничего не говорит об этом.
Правильно ли я думаю, что основное преимущество использования Just в определении Maybe, а не просто
data Maybe a = Nothing | a
заключается в том, что он позволяет сопоставлять шаблоны с Just _ и для полезных функций, таких как isJust и fromJust?
Почему Maybe определяется первым, а не последним?