anchor.diff:      { Targets: string list
         Properties: (string * string) list
         MaxCpuCount: int option option
  +      NodeReuse: bool option
         ToolsVersion: string option
         Verbosity: MSBuildVerbosity option
         FileLoggers: MSBuildFileLoggerConfig list option }
  
positive.code:         match p.MaxCpuCount with
          | None -> None
          | Some x -> Some ("m", match x with Some v -> v.ToString() | _ -> "")
      let tools =
          match p.ToolsVersion with
          | None -> None
  
negative.code:                             (match fl.Filename with | None -> "" | Some f -> sprintf "logfile=%s;" f)
                              (match fl.Verbosity with | None -> "" | Some v -> sprintf "Verbosity=%s;" (verbosityName v))
                              (match fl.Parameters with | None -> "" | Some ps -> ps |> List.map (fun p -> logParams p |> sprintf "%s;") |> String.concat "")))
      let allParameters = getAllParameters targets maxcpu nodeReuse tools verbosity fileLoggers properties
      allParameters
      |> Seq.map (function
                      | None -> ""
  