What a magnificent writeup. Much thanks, very useful, I always got a bit stuck on knowing about string types, their pitfalls and which to end up choosing, so I'm very happy with this useful document!
Are the Lazy variants ever a good idea? The author already argues against lazy IO. Are Lazy variants worth using for anything else? I always thought Haskell is typeful and that Lazy variants hide too much under the covers that should be exposed in the types.
Also I still don’t think there’s a great argument for [Char] other than its historical baggage.