[Haskell-cafe] CRIP: the Curiously Reoccuring Instance Pattern