[Haskell-cafe] type inference algorithm for type classes