anchor.diff:                  if dI.Exists then Some dI
                   else None
   
  -            match Array.tryPick tryGetSdkDir [| Environment.SpecialFolder.ProgramFiles ; Environment.SpecialFolder.ProgramFilesX86 |] with
  -            | None -> failwith "Could not resolve .NET SDK folder."
  +            match Array.tryPick tryGetSdkDir [| Environment.SpecialFolder.ProgramFilesX86; Environment.SpecialFolder.ProgramFiles  |] with
  +            | None -> None
               | Some sdkDir ->
                   match tryFindFile "peverify.exe" sdkDir with
  -                | None -> failwith "Could not locate 'peverify.exe'."
  -                | Some pe -> pe, "/UNIQUE /IL /NOLOGO"
  +                | None -> None
  +                | Some pe -> Some (pe, "/UNIQUE /IL /NOLOGO")
   
       static let execute (fileName : string, arguments : string) =
           printfn "executing '%s' with arguments %s" fileName arguments
  
positive.code:     static let expectedExitCode = 0
      static let runsOnMono = try System.Type.GetType("Mono.Runtime") <> null with _ -> false
  
      let verifierPath, switches =
          if runsOnMono then
              "pedump", "--verify all"
          else
              let rec tryFindFile (fileName : string) (dir : DirectoryInfo) =
                  let file = Path.Combine(dir.FullName, fileName)
  
negative.code:                 else
                      dir.GetDirectories() 
                      |> Array.sortBy(fun d -> d.Name)
                      |> Array.filter(fun d -> 
                          match d.Name with 
                          // skip old SDK directories
                          | "v6.0" | "v6.0A" | "v7.0" | "v7.0A" | "v7.1" | "v7.1A" -> false
                          | _ -> true)
                      |> Array.rev // order by descending -- get latest version
                      |> Array.tryPick (tryFindFile fileName)
  
  