Я думаю, что название уже самоочевидно, но вот пример, чтобы показать свою мысль:
class Foo a where
someFunction :: a -> a -> Bool
instance Foo Bool
Когда я компилирую это, компилятор выдает предупреждение:
Warning:
No explicit method or default declaration for `someFunction'
in the instance declaration for `Foo Bool'
Вызов функции теперь приведет к ошибке выполнения. Почему это предупреждение, а не ошибка времени компиляции? И есть ли способ сделать это ошибкой времени компиляции?