Можно ли наложить ограничение неравенства на переменные типа функции, а ля foo :: (a ~ b) => a -> b
как в Документы по семейству типов GHC , за исключением неравенства, а не равенства?
Я понимаю, что, возможно, нет прямого способа сделать это (поскольку документы ghc не перечисляют их, насколько мне известно), но я был бы почти озадачен если бы это было каким-либо образом невозможно в свете всего экзотического типа фу, которому я подвергался.