anchor.diff:                              // Is the current character a separator?
                               if Array.BinarySearch (sortedSeparators, str.[i]) >= 0 then
                                   // Apply the function to the current substring.
  -                                action.Invoke (substringIndex, Substring (str, offset, length))
  +                                action.Invoke (substringIndex, substring (str, offset, length))
   
                                   // Update the offset to just past the end of this substring
                                   // and reset the length to zero to begin a new substring.
  
positive.code:                     // If the length is nonzero, then the last substring is still "in-progress"
                      // so apply the function to it.
                      if length > 0 || not <| skipEmptyStrings options then
                          state <- folder.Invoke (state, substringIndex, Substring (str, offset, length))
                      state
  
  
  
negative.code:                     // If the length is nonzero, then the last substring is still "in-progress"
                      // so apply the function to it.
                      if length > 0 || not <| skipEmptyStrings options then
                          state <- folder.Invoke (state, substring (str, offset, length))
                      state
  
          //
  