
9 Jan
2014
9 Jan
'14
10:23 a.m.
Besides, even defining type Maybe a = Either () a in standard library wouldn’t be the same as data Maybe a = Nothing | Just a since in Haskell 98 type synonyms aren’t allowed in instance declarations, which means that programmers would still have to remember that `Maybe` is actually `Either ()` under-the-hood every time when writing an instance.