When given a string that includes a series of combining diacriticals in arbitrary order, unicodedata.normalize will not necessarily produce the same ordered result as it does when decomposing the canonical ordering. Perhaps this can be addressed. There are some tests stubbed out for this; they currently raise NotImplementedError.