anchor.diff:          
           pName
   
  +    /// Save a profile using the values from the supplied config.  At a minimum,
  +    /// ExePath must be set in the config.
       let saveProfile (conf:RunConfig) =
           if not (File.Exists conf.ExePath) then
               failwithf "Exe path does not exist, cannot save profile: %A" conf.ExePath
  
positive.code:     // mutable so that unit test can change it, via Init functions below
      let mutable private regLoc = RegLocTypes.FailsauceRegLoc
  
      let init() = regLoc <- RegLocTypes.NormalRegLoc
      let initForTest() = regLoc <- RegLocTypes.TestRegLoc
  
      let private regget(key,value,def) =
  
negative.code:         | null -> ()
          | _ -> key.DeleteValue(valName,false)
  
      /// Remove an entire profile
      let deleteProfileKey (pKey:string) = 
          checkRoot pKey (sprintf "Refusing to delete unauth key: %A" pKey)
  
          regLoc.Hive.DeleteSubKey pKey
  
      /// Set a profile value
      let setProfileValue (pKey:string) valName value =
          checkRoot pKey (sprintf "Refusing to set unauth key value: %A" pKey)
  
          Registry.SetValue(regLoc.Hive.Name @@ pKey, valName, value);
          value
  
      /// Set a global (as in ModelMod root global) value
      let setGlobalValue valName value = 
          Registry.SetValue(regLoc.HiveRoot, valName, value);
          value
  
      /// Get a global (as in ModelMod root global) value
      let getGlobalValue valName (defValue) = 
          let v = Registry.GetValue(regLoc.HiveRoot, valName, defValue)
          v
  
      /// Creata a new empty profile.  Up to 10000 profiles are supported, more 
      /// available in the pro version.  
      let createNewProfile() = 
          let profiles = getProfileKeyNames() 
        
  