Pseudonym, there’s already a text-icu package that contains ICU bindings. My goal is to write as much Unicode handling code in pure Haskell as possible, and to leave the complex and fugly stuff to the ICU bindings. That way, if you have fairly simple needs, your number of dependencies is kept low. Also, crossing back and forth between Haskell and C++ is very expensive (due to the different representations used for text), so calling into ICU shouldn’t be done often.