The main advantage of cl-json in comparison to yason is the built-in functionality of generating CLOS-objects when reading JSON. This could set a good base for a more highlevel API and also make the return types make more sense.
I can see that you've already done something akin to this in datatypes.lisp but I still think it could be expanded upon.
Also, that code looks like it was very painful to write ;)