[Haskell-cafe] Avoiding orphan instances and dependency blowups