CLJS-814: clojure.string/reverse breaks surrogate pairs A surrogate pair's code units should not be separated or reordered by string reversal. This changes ClojureScript clojure.string/reverse to behave exactly as in Clojure and Java, i.e. keeping surrogate pairs in their original code unit order.