anchor.diff:              let lines = File.ReadAllLines filePath
               writeMessage ("loaded " + lines.Length.ToString() + " lines from " + filePath)
               lines
  -        with _ ->
  -            writeMessage (filePath + " was not found")
  -            Array.empty
  +        with
  +            | :? FileNotFoundException -> writeMessage (filePath + " was not found"); Array.empty
  +            | :? DirectoryNotFoundException -> writeMessage "directory not found"; Array.empty
  +            | :? PathTooLongException -> writeMessage (filePath + " exceeded path character limit"); Array.empty
  +            | :? NotSupportedException -> writeMessage (filePath + " is an unsupported format"); Array.empty
  +            | :? SecurityException -> writeMessage ("you do not have the required permissions for " + filePath); Array.empty
  +            | :? IOException -> writeMessage ("an i/o error occurred while opening " + filePath); Array.empty
   
       [<EntryPoint>]
       let main args =
  
positive.code:     open System
      open System.IO
      open System.Net.Http
      open DataTypes
  
      let writeMessage (message: string) =
  
negative.code:     let getRemoteDomains domainSources : seq<string> =
          use client = new HttpClient()
          domainSources
              |> List.map (downloadDomainSource (client))
              |> Async.Parallel
              |> Async.RunSynchronously
              |> Array.reduce (fun acc item -> Seq.append acc item) // turns an array of seqs into one seq of everything
  
      let printLines (lines: seq<string>) =
          use writer = Console.Out
          lines
              |> Seq.iter (fun line -> writer.WriteLine(line))
  
      let printDomains (serverType: DnsServerType) (domains: seq<string>) =
          domains
  