anchor.diff:  
   let (|PreprocessorKeywordToken|_|) requiredText t = 
       match t with
  -    | Marked(Token (origTok:TokenInformation), origTokText, _) 
  +    | Marked(Token origTok, origTokText, _) 
           when origTok.ColorClass = TokenColorKind.PreprocessorKeyword && origTokText = requiredText -> 
           Some origTokText
       | _ -> None
   
   let (|InactiveCodeToken|_|) t = 
       match t with
  -    | Marked(Token (origTok:TokenInformation), origTokText, _) 
  +    | Marked(Token origTok, origTokText, _) 
           when origTok.ColorClass = TokenColorKind.InactiveCode  -> Some origTokText
       | _ -> None
   
   let (|LineCommentToken|_|) wantStickyLeft t = 
       match t with
  -    | Marked(Token (origTok:TokenInformation), origTokText, lcs) 
  +    | Marked(Token origTok, origTokText, lcs) 
           when (not wantStickyLeft || (lcs = StickyLeft)) && 
                origTok.CharClass = TokenCharKind.LineComment -> Some origTokText
       | _ -> None
   
   let (|BlockCommentToken|_|) t = 
       match t with
  -    | Marked(Token (origTok:TokenInformation), origTokText, _) when origTok.CharClass = TokenCharKind.Comment -> 
  +    | Marked(Token origTok, origTokText, _) when origTok.CharClass = TokenCharKind.Comment -> 
           Some origTokText
       | _ -> None
   
  
positive.code: 
      let rec loop origTokens newTokens = 
          match origTokens, newTokens with 
          | (Marked(Token origTok, origTokText, _) :: moreOrigTokens),  _ 
                when origTok.CharClass = TokenCharKind.WhiteSpace && origTok.ColorClass <> TokenColorKind.InactiveCode 
                     && origTok.ColorClass <> TokenColorKind.PreprocessorKeyword ->
                Debug.WriteLine "dropping whitespace from orig tokens" 
                loop moreOrigTokens newTokens 
  
  
          | (Marked(EOL, origTokText, _) :: moreOrigTokens),  _ ->
                Debug.WriteLine "dropping newline from orig tokens" 
                loop moreOrigTokens newTokens 
  
  
negative.code:             loop moreOrigTokens newTokens 
  
          // Dangling text at the end 
          | [], ((_, newTokText) :: moreNewTokens) ->
              Debug.WriteLine("dangling new token '{0}'", newTokText)
              addText newTokText 
              loop [] moreNewTokens 
  