anchor.diff:      /// Get a range query for the given type
       abstract GetRangeQuery : option<SchemaName -> (LowerRange * UpperRange) -> (InclusiveMinimum * InclusiveMaximum) -> Result<Query>>
       
  -    /// Get tokens for a given input. This is not supported by all field types for example
  -    /// it does not make any sense to tokenize numeric types and exact text fields
  -    abstract GetTokens : option<string -> option<LuceneAnalyzer> -> List<string>>
  -    
  -    override __.GetTokens = None
  -
   /// Information needed to represent a field in FlexSearch document
   /// This should only contain information which is fixed for a given type so that the
   /// instance could be cached. Any Index specific information should go to FieldSchema
  
positive.code:     /// any specific external formatting rules
      override __.ToExternal = None
      
      /// Create a new Field template for the given field. 
      abstract CreateFieldTemplate : SchemaName -> generateDocValues:bool -> FieldTemplate
      
  
negative.code:     // conjunction with the UpdateFieldTemplate
      abstract Validate : value:string -> 'T
  
      /// Provide a default ToInternal representation by wrapping around validate method.
      override this.ToInternal (value) = this.Validate(value).ToString()
  
  /// Helpers for creating Lucene field types
  [<RequireQualifiedAccess>]
  module CreateField = 
  