Most Lisp implementations don't allow us to encode invalid Unicode code points for comparison, which is why the library only completes its tests and runs properly on SBCL and ECL, which do. The parser should probably work with octets until it knows they can be encoded as characters.