anchor.diff:          this.Debug <- true
           this.Verbose <- true
   
  +    member this.SetToString<'T>(set : ISet<'T>) =
  +        if set.Count > 0 then
  +            "[\"" + String.Join("\", \"", set) + "\"]"
  +        else
  +            "[]"
  +
       override this.ToString() =
           "SearchSettings(" +
           String.Format("ArchivesOnly: {0}", this.ArchivesOnly) +
  
positive.code:                 else "." + x
              set.Add(ext) |> ignore
  
      member this.AddPattern(set : HashSet<Regex>, pattern : string) =
          let success = set.Add(new Regex(pattern))
          ()
  
  
negative.code:         String.Format(", FirstMatch: {0}", this.FirstMatch) +
          String.Format(", InArchiveExtensions: {0}",  "[\"" + String.Join("\", \"", _inArchiveExtensions) + "\"]") +
          String.Format(", InArchiveFilePatterns: {0}",  "[\"" + String.Join("\", \"", _inArchiveFilePatterns) + "\"]") +
          String.Format(", InDirPatterns: {0}", this.SetToString( _inDirPatterns)) +
          String.Format(", InExtensions: {0}",  "[\"" + String.Join("\", \"", _inExtensions) + "\"]") +
          String.Format(", InFilePatterns: {0}",  "[\"" + String.Join("\", \"", _inFilePatterns) + "\"]") +
          String.Format(", InLinesAfterPatterns: {0}",  "[\"" + String.Join("\", \"", _inLinesAfterPatterns) + "\"]") +
  