anchor.diff:  /// Returns if the build parameter with the given name was set
   let inline hasBuildParam name = environVar name <> null
   
  -/// Returns the value of the buildParam if it is set and otherwise "" 
  -let inline getBuildParam name = if hasBuildParam name then environVar name else String.Empty
  +/// Returns the value of the build parameter with the given name was set if it was set and otherwise the given default value
  +let inline getBuildParamOrDefault name defaultParam = if hasBuildParam name then environVar name else defaultParam
   
  -/// Returns the value of the buildParam if it is set and otherwise the default
  -let inline getBuildParamOrDefault name defaultParam = if hasBuildParam name then getBuildParam name else defaultParam
  +/// Returns the value of the build parameter with the given name if it was set and otherwise an empty string
  +let inline getBuildParam name = getBuildParamOrDefault name String.Empty
   
  -/// The path of Program Files - might be x64 on x64 machine
  +/// The path of the "Program Files" folder - might be x64 on x64 machine
   let ProgramFiles = Environment.GetFolderPath Environment.SpecialFolder.ProgramFiles
   
   /// The path of Program Files (x86)
  -/// I think this covers all cases where PROCESSOR_ARCHITECTURE may misreport and the case where the other variable 
  +/// It seems this covers all cases where PROCESSOR_ARCHITECTURE may misreport and the case where the other variable 
   /// PROCESSOR_ARCHITEW6432 can be null
   let ProgramFilesX86 =
       let wow64 = (environVar "PROCESSOR_ARCHITEW6432")
  
positive.code:     MachineName : string
      NETFrameworks : seq<string>
      UserDomainName : string
  
  }
  
  let getMachineEnvironment() = 
       {
          ProcessorCount = Environment.ProcessorCount
  
negative.code:     | _ ->
          environVar "ProgramFiles"
  
  /// The system root environment variable. Typically "C:\Windows"
  let SystemRoot = environVar "SystemRoot"
  
  /// Detemernines if the current system is an Unix system
  let isUnix = Environment.OSVersion.Platform = PlatformID.Unix
  
  /// Modifies the ProcessStartInfo according to the platform semantics
  let platformInfoAction (psi:ProcessStartInfo) =
      if isUnix && psi.FileName.EndsWith ".exe" then
          psi.Arguments <- psi.FileName + " " + psi.Arguments
  