Почему в Haskell нельзя ставить подписи типов в объявлениях экземпляров?

Я люблю ставить подписи типов для всех определений верхнего уровня в своем коде. Однако подписи типов в объявлениях экземпляров, похоже, не разрешены, и если я их поставлю, то получу от GHC ошибку "Misplaced type signature". Почему так происходит? Почему GHC не может проверить, совпадает ли подпись типа с тем, что он ожидал, и отклонить (или предупредить), если это не так?

17
задан Prateek 3 December 2011 в 11:48
поделиться