The problem, as you hint at, is that Haskell lacks a literal
syntax for "strings that end with a dot". One could fake
this up with Template Haskell if one was so inclined. On
the other hand, the representations proposed are
representations of "strings that end with a dot" and
"alphanumeric strings", the dubious ergonomics (and utility)