ah, though it is "unescapeText :: ByteString -> Either UnicodeException Text" with ByteString I could already decode to T.Text which is, ofc, unescaped. Also, its comments saying """This function is exporeted mostly for testing and benchmarking purposes.""" My question rephrased is that if you have a type Aeson.Value at hand, can you extract a type you need without the "decode . encode" trick.