[Haskell-cafe] FlexibleContexts and FlexibleInstances