anchor.diff:      | BinaryToken.OpenGroup -> parseSubgroup()
       | x -> failwithf "Unexpected token %s" (x.ToString())
   
  +  /// Determines what type of object follows an OpenGroup token -- an array or
  +  /// object.
     and parseSubgroup () =
       match (nextToken()) with
       | BinaryToken.Int(x) ->
  
positive.code:       nextToken() |> ignore
      values.ToArray()
  
    and parseValue () =
      match tok with
      | BinaryToken.Uint(x) ->
  
negative.code:       ParaValue.Record(parseObject x)
      | x -> failwithf "Unexpected token %s" (x.ToString())    
  
    /// If the first token at the start of an object is a string then we are
    /// looking at an object or an array. This function will which of these
    /// options it is and return it
    and stringSubgroup first =
      match (nextToken()) with
      | BinaryToken.Equals -> ParaValue.Record(parseObject first)
  