где может быть нужно использование ConstraintKinds и Dict?
я так понимаю, что использование Constraints в каких-то юзкейсах не справляется и тогда может хотеться передать словарь явно? так же это перенос информации на value level, а это где может быть полезно? видел примеры у biorgey (очепятался наверняка) и в I wish I know about Haskell, но эти примеры как-то не впечатлили