anchor.diff:          with get () = _startPath
           and set startPath = _startPath <- startPath
       member this.ArchivesOnly
  -        with get() = _archivesOnly
  +        with get () = _archivesOnly
           and set archivesOnly = _archivesOnly <- archivesOnly
       member this.Debug
  -        with get() = _debug
  +        with get () = _debug
           and set debug = _debug <- debug
       member this.DoTiming
  -        with get() = _doTiming
  +        with get () = _doTiming
           and set doTiming = _doTiming <- doTiming
  +    member this.ExcludeHidden
  +        with get () = _excludeHidden
  +        and set excludeHidden = _excludeHidden <- excludeHidden
       member this.FirstMatch
  -        with get() = _firstMatch
  +        with get () = _firstMatch
           and set firstMatch = _firstMatch <- firstMatch
  +    member this.LinesAfter
  +        with get () = _linesAfter
  +        and set linesAfter = _linesAfter <- linesAfter
  +    member this.LinesBefore
  +        with get () = _linesBefore
  +        and set linesBefore = _linesBefore <- linesBefore
       member this.ListDirs
           with get () = _listDirs
           and set listDirs = _listDirs <- listDirs
  
positive.code: open System.Text.RegularExpressions
  
  type SearchSettings() =
      let _inExtensions = new HashSet<string>()
      let _outExtensions = new HashSet<string>()
  
      let _inDirPatterns = new HashSet<Regex>()
      let _outDirPatterns = new HashSet<Regex>()
      let _inFilePatterns = new HashSet<Regex>()
      let _outFilePatterns = new HashSet<Regex>()
      let _searchPatterns = new HashSet<Regex>()
  
      let mutable _startPath = ""
  
      let mutable _archivesOnly = false
      let mutable _debug = false
      let mutable _doTiming = false
      let mutable _firstMatch = false
      let mutable _listDirs = false
      let mutable _listFiles = false
      let mutable _listLines = false
      let mutable _printResults = false
      let mutable _printUsage = false
      let mutable _printVersion = false
      let mutable _recursive = true
      let mutable _searchArchives = false
      let mutable _uniqueLines = false
      let mutable _verbose = false
  
      // read-only member properties
      member this.InExtensions = _inExtensions
      member this.OutExtensions = _outExtensions
      member this.InDirPatterns = _inDirPatterns
      member this.OutDirPatterns = _outDirPatterns
      member this.InFilePatterns = _inFilePatterns
      member this.OutFilePatterns = _outFilePatterns
      member this.SearchPatterns = _searchPatterns
  
      member this.HasExtensions = _inExtensions.Count > 0 || _outExtensions.Count > 0
      member this.HasDirPatterns = _inDirPatterns.Count > 0 || _outDirPatterns.Count > 0
      member this.HasFilePatterns = _inFilePatterns.Count > 0 || _outFilePatterns.Count > 0
  
  
      // read-write member properties
  
negative.code:     member this.ListLines
          with get () = _listLines
          and set listLines = _listLines <- listLines
      member this.MaxLineLength
          with get () = _maxLineLength
          and set maxLineLength = _maxLineLength <- maxLineLength
      member this.MultiLineSearch
          with get () = _multiLineSearch
          and set multiLineSearch = _multiLineSearch <- multiLineSearch
      member this.PrintResults
          with get () = _printResults
          and set printResults = _printResults <- printResults
  