По-видимому, это плохая идея поместить ограничение типа typeclass на объявление данных [src], [SRC].
Я лично не сталкивался с желанием ограничить типы внутри типов данных, которые я создал, но мне не кажется очевидным, почему разработчики языка "решили, что это была плохая идея". Почему это?