[Haskell-cafe] using FlexibleInstances and OverlappingInstances