Perhaps ustring should be "u8string" to indicate the utf8 nature of it, and we introduce a "ustring" that is rune-indexable, which is a List<uint>