[Haskell-cafe] Is there a Galois correspondence between a Haskell class hierarchy and a given instance hierarchy?