Round trip, case by case: open operators
theorem jsonVal_head (sf : Sf) (v : Json) (hv : jwf v = true) (hn : isE v = false) :
∃ t r, jsonVal sf v = t :: r ∧
(sf = .latex → ∀ X, jsonStart (t :: X) = true) ∧ (sf = .typst → t = .code v ∧ r = [])
A field value as JSON tokens starts with a token the parser takes for JSON.
def valToks (c : Ctx) (v : Json) : List Tok
A field value as printed: an expression at level 4, or JSON.