anchor.diff:    // There is only two possible values for booleans, so cache these bad boys
     let ptrue = ParaValue.Bool true
     let pfalse = ParaValue.Bool false
  +
  +module internal Common =
  +  let internal parseArrayFirst first (fn:ResizeArray<_> -> ParaValue[]) =
  +      let values = ResizeArray<_>()
  +      values.Add(first)
  +      ParaValue.Array (fn values)
   
   type private ParaParser (stream:PeekingStream) =
     // Caches that allow us to take the 64bit hash of a byte array of some
  
positive.code:       nextToken() |> ensureEquals
        let first = ParaValue.Record(parseObject firstKey)
        nextToken() |> ignore
        ParaValue.Array(parseArrayFirst first)
      | BinaryToken.Token ->
        nextToken() |> ensureEquals
        ParaValue.Record(parseObject tokenString)
  
negative.code:     | BinaryToken.Float ->
        let temp = floatToken
        nextToken() |> ignore
        Common.parseArrayFirst (ParaValue.Number(temp)) parseArray
      | BinaryToken.String ->
        let temp = stringToken
        subber temp (fun () -> ParaValue.String temp)
  