anchor.diff:          | false,true -> a + b
           | false,false -> a + @"\" + b
   
  +    /// Convert specified dword (integer) type to bool
       let dwordAsBool dw = if (int dw > 0) then true else false
  +    /// Convert specified bool type to dword (integer)
       let boolAsDword b = if (b) then 1 else 0
   
  +    /// Zeropad the specified string up to count places.
       let zeroPad (count:int) (s:string) =
           let numZeros = count - s.Length
           if numZeros <= 0 then 
  
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:                 Some(pBase) // exclude hive
              else None)
  
      /// Fail with exception if write to specified key is not authorized.
      /// The hardcoded string here is deliberate, so that we don't end up writing
      /// to willy-nilly places.
      let private checkRoot (key:string) (failMsg:string) =
          if not ((key.StartsWith(@"Software\ModelMod")) && (key.StartsWith(regLoc.Root))) then
              failwith failMsg
  
      /// Remove a value from the specified profile 
      let deleteProfileValue (pKey:string) (valName:string) =
          checkRoot pKey (sprintf "Refusing to delete value from unauth key: %A" pKey)
          
  