Todo Add escape character handling in [jsonStringP] [JsonNumber] should be [(Num a => a -> JsonValue)] Accumulate parsing errors if fail