зато стрелки можно комбинировать, а :- вроде как нет, типа
class A; class B; class C
instance (A, B) => C
a :: Dict A -> Dict B -> Dict C
a Dict Dict = Dict
b :: (Dict A, Dict B) -> Dict C
b (Dict, Dict) = Dict
c :: Dict (A, B) -> Dict C
c Dict = Dict
d :: (A, B) => Dict C
d = Dict
e :: A => B => Dict C
e = Dict