anchor.diff:              loop 0
       let parseArray eT (eD: D) : D =
           if eD.ReadsJson() then raise (NoFormatError eT)
  -        D.Make false <| fun p ->
  +        D.Make (fun () -> false) <| fun p ->
               parseInt.Decode p
               >>= function
               | (:? int as k) ->
  
positive.code:             typeof<System.Enum>
                  .GetMethod("ToObject", [|typeof<System.Type>; uT|])
          let f = getD uT
          D.Make false <| fun p ->
              f.Decode p |> DecodeResult.map (fun x -> toObj.Invoke(null, [|t; x|]))
      elif t.IsArray then
          if t.GetArrayRank() > 1 then
  
negative.code:     }
      static member Make json decode =
          {
              ReadsJson = json
              Decode = decode
          }
  
  