I looked at prose and did some tests. It builds and works very well functionally (normalization tests passed) but turns out to be pretty poor on normalization performance (171 times slower than text-icu). I believe it can be improved with some changes to the data structures. Though the performance may or may not matter depending on your use case.
Here are the results of a quick normalization benchmarking test that I did using text-icu, unicode-transforms (bindings to the utf8proc C library) and prose:
text-icu = 1 sec (224 MB/s on the test machine)
unicode-transforms = 6 sec (40 MB/s)
prose = 171 sec (1.3 MB/s)
It looks like icu is the gold standard in performance. Even GNU libunistring's performance seems to be very similar to utf8proc.
-harendra