anchor.diff:        skipEmptyObjects()
       pairs.ToArray()
   
  -  and parseArrayFirst first =
  -    let values = ResizeArray<_>()
  -    values.Add(first)
  -    parseArray(values)
  -
     and parseArray (values:ResizeArray<_>) =
       while not (endGroup tok) do
         values.Add(parseValue())
  
positive.code:   and parseArray (vals:ResizeArray<_>) =
      while (stream.Peek() <> 125) do
        vals.Add(trim parseValue)
  
    and parseContainerContents() =
      // The first key or element depending on object or list
  
negative.code:   // 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
  