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:                 writeMessage "! server type unknown !"
                  int ExitCodes.ErrorServerTypeUnknown
              | Missing ->
                  writeMessage "! no domain type switch !"
                  int ExitCodes.ErrorServerTypeSwitchMissing
              | serverType ->
                  let customExtras = loadLinesFromFile customExtrasFilePath
  
negative.code:     open System
      open System.IO
      open System.Net.Http
      open System.Security
      open DataTypes
  
      let writeMessage (message: string) =
  