In reply to @entropydev "I came across jsonutils,": Like I said then it's probably the case that you could make a custom proc wrapping a simpler or incomplete deserialization, with extra steps to complete serialization. That depends on if `.to()` can unmarshal just part of a JsonNode. Otherwise you'd need intermediate types. Should be equivalent to designing a hook in other libraries; if you wanted tags pointing to a proc or some similar feature, you're depending on templates and macros that don't appear much in the standard library. Some of the third-party libraries might have that, I haven't looked, I just use std/json.