anchor.diff:  let main argv = 
     let engine = Engine rules
     
  -  let example = "let < > <>  \"\"\"I could be a string\r\n \"\"\"   "
  +  let example = "let < > <>          \r\n   \"\"\"I could be a string\r\n \"\"\"   "
     let engineResult = engine.ParseString example LexerMode.Normal
   
     let tokens =
  
positive.code:   | CustomOperator of string
    | Punctuation of Punctuation
  
  
  type [<RequireQualifiedAccess>] LexerMode =
    | Normal
  
negative.code:   | String
    
  let rules: Rule<LexerMode, TokenType> array = 
    [  Rule.From LexerMode.Normal TokenType.Whitespace.NoFun None "Whitespace" (Regex("[^\S\r\n]+"))
       Rule.From LexerMode.Normal TokenType.NewLine.NoFun None "Newline" (Regex("(\r|\n|\r\n)+"))
       Rule.From LexerMode.Normal (TokenType.Keyword Keyword.Let).NoFun None "Space Normal" (Regex("(?i)Let"))
       Rule.From LexerMode.Arrow TokenType.Identifier None "Space Arrow" (Regex("[ ]+"))
  
       Rule.From LexerMode.Normal (TokenType.Operator Operator.GreaterThan).NoFun (Some(RuleAction.PushMode(LexerMode.Arrow))) "<" (Regex("[<]"))
       Rule.From LexerMode.Arrow (TokenType.Operator Operator.LessThan).NoFun (Some(RuleAction.PopMode)) ">" (Regex("[>]"))
  
       
       Rule.From LexerMode.Normal (fun delimiter -> TokenType.StringDelimiter delimiter) (Some(RuleAction.PushMode(LexerMode.String))) "StringLiteralDelimiterIn" (Regex("[\"]{3}"))
  