I’m curious how the ergonomics of String handling were for this task. Swift’s String does extremely well to enforce correctness, and in isolation it’s really nice to use, but I’ve found it difficult to work with APIs that couldn’t care less about grapheme clusters or encodings. Or perhaps terminals are more Unicode-aware than I thought they were?