[Haskell-cafe] OverloadedStrings, but with compile-time invariants