JsonReadable = concept x var j: JsonNode parseFromJson(j, type(x)) is type(x)
JsonWritable = concept x renderToJson(x) is JsonNode
proc ok(j: JsonNode): Handler {.raises: [], tags: [].}
proc ok[A: JsonWritable](a: A): Handler
proc jsonBody(p: proc (j: JsonNode): Handler): Handler {.raises: [], tags: [].}
proc jsonBody[A: JsonReadable](p: proc (a: A): Handler): Handler