Можно ли сделать что-то вроде
class T a
class U a
instance U ()
instance ( NOT U a ) => T a
Контекст: я пытаюсь написать функцию, которая принимает HLists и удаляет элементы определенного типа (здесь тип единицы).
Я чувствую, что может быть какая-то проблема с предположением открытого мира, но даже будучи в состоянии сделать это жестко закодированным образом (вместо NOT U a, что-то вроде NOT a ~()) должно показаться возможным.
edit: Как указано в комментарии C.A. McMann, этот вопрос в значительной степени является точным дубликатом моего. Если модератор хочет закрыть это, не стесняйтесь.