Я случайно обнаружил, что следующий код отлично компилируется:
class SomeClass a
someValue :: Maybe (SomeClass a)
someValue = undefined
Я использую только классы, связанные с типом ограничений, поэтому я не понимаю, почему этот код typechecks и какова цель использования классов таким образом.
Я нахожусь в GHC 7.6.2.