anchor.diff:  
       static member Case (m: Case<'e,'o,'t>,
                           eL: Labelled<'e,'e,'o,'t>,
  -                        eJ: JsonO<'e>) =
  +                        eJ: JsonValue<'e>) =
         S [(if eL.Name = "Item"
             then {OfJson = eJ.OfJson >> Choice.map m.OfPairs id
                   ToJson = m.ToPairs >> eJ.ToJson}
  
positive.code:         | _ -> Choice2Of2 "list"
         ToJson = Array.map tJ.ToJson >> List.ofArray >> List}
  
      static member List (tsJ: JsonO<array<'t>>) =
        {OfJson = tsJ.OfJson >> Choice.map List.ofArray id
         ToJson = Array.ofList >> tsJ.ToJson}
  
      static member Elem (eL: Labelled<'e,'r,'o,'t>, eJ: JsonO<'e>) =
        P {new JsonI<'e> () with
            member jm.OfJson (o, e) =
              match Map.tryFind eL.Name o with
               | None -> Some ^ eL.Name + ": ..."
  
negative.code:           let mutable p = Unchecked.defaultof<_>
            match pJ.OfJson (o, &p) with
             | None -> asP.Create (&p) |> Choice1Of2
             | Some e -> Choice2Of2 ^ "{" + e + "}"
          | _ -> Choice2Of2 "{ ... }"
         ToJson = fun t ->
           let mutable p = asP.ToPairs t
  