So Long Surrogates: How We Moved to UTF-8 in Haskell | Hacker News Reader