anchor.diff:          | Int
           | Double
           | Long
  +    
  +    /// Check if the passed field is numeric field
  +    let inline isNumericField (f : T) = 
  +        match f with
  +        | Date | DateTime | Int | Double | Long -> true
  +        | _ -> false
       
       /// Checks if a given field type requires an analyzer
       let inline requiresAnalyzer f = 
  
positive.code:         | FieldType.Double -> getDoubleField (flexField.SchemaName, 0.0, storeInfo)
          | FieldType.Long -> getLongField (flexField.SchemaName, int64 0, storeInfo)
      
      /// Set the value of index field to the default value
      let inline updateLuceneFieldToDefault flexField (luceneField : Field) = 
          match flexField.FieldType with
  
negative.code:           /// + 1 - Ensure that the document does exist. This is not relevant for create operation.
            /// > 1 - Ensure that the version matches exactly. This is not relevant for create operation.
            mutable TimeStamp : Int64
            /// mutable ModifyIndex : Int64
            /// Name of the index
            IndexName : string
            /// Any matched text highlighted snippets. Note: Only used for results
            mutable Highlights : List<string>
            /// Score of the returned document. Note: Only used for results
            mutable Score : double }
          
          static member Default = 
              { Fields = Unchecked.defaultof<_>
                Id = Unchecked.defaultof<_>
                TimeStamp = Unchecked.defaultof<_>
                IndexName = Unchecked.defaultof<_>
                Highlights = Unchecked.defaultof<_>
                Score = Unchecked.defaultof<_> }
          
          interface IValidate<T> with
              member this.SetDefaults() = this
  