anchor.diff:  type Value = 
       | SingleValue of string
       | ValueList of string list
  +    | Func of Name : string * Params : Value seq
  +    | FieldName of string
   
   /// <summary>
   /// Acceptable Predicates for a query
  
positive.code:         
      let listOfValues = (str_ws "[" >>. sepBy1 stringLiteralAsString (str_ws ",") .>> str_ws "]") |>> ValueList .>> ws
      
      /// Value parser
      /// Note: THe order of choice is important as stringLiteral uses
      /// character backtracking.This is done to avoid the use of attempt.
      let value = choice [ stringLiteral; listOfValues ]
      
      /// Identifier implementation. Alphanumeric character without spaces
      let identifier = 
          many1SatisfyL (fun c -> c <> ' ' && c <> '(' && c <> ')' && c <> ':' && c <> ''') 
              "Field name should be alpha number without '(', ')' and ' '." .>> ws
      
      let DictionaryOfList(elements : (string * string) list) = 
          let result = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
          for (key, value) in elements do
  
negative.code:     // ----------------------------------------------------------------------------
      /// <summary>
      /// Method to implement predicate matching
      /// Syntax: {FieldName} {Operator} {SingleValue|MultiFieldValue|Function} {optional Boost}
      /// Example: firstname eq 'a'
      /// </summary>
      let predicate = pipe4 identifier identifier value parameters (fun l o r b -> Condition(l, o, r, b))
  