anchor.diff:          |> Seq.map wixComponentRefs
           |> toLines
   
  -    if (filesInDir directoryInfo).Length > 0 then sprintf "%s<ComponentRef Id=\"%s\"/>\r\n" compos directoryInfo.Name else compos
  +    if (filesInDir directoryInfo).Length > 0 then sprintf "%s<ComponentRef Id=\"%s\"/>\r\n" compos (compRefName directoryInfo.Name) else compos
   
   open System
   
  
positive.code: 
  /// Creates recursive WiX directory and file tags from the given DirectoryInfo
  let rec wixDir fileFilter asSubDir (directoryInfo:DirectoryInfo) =
      dirCount <- dirCount + 1
      let dirs =
        directoryInfo
          |> subDirectories
  
negative.code: 
  open System
  open System.IO
  open System.Collections.Generic
  
  let mutable internal fileCount = 0
  
  let mutable internal dirs = Dictionary()
  
  let dirName dir =
      match dirs.TryGetValue dir with
      | true,n -> dirs.[dir] <- n+1; dir + n.ToString()
      | _ -> dirs.[dir] <- 1; dir
  
  let mutable internal compRefs = Dictionary()
  
  let compRefName compRef =
      match compRefs.TryGetValue compRef with
      | true,n -> compRefs.[compRef] <- n+1; compRef + n.ToString()
      | _ -> compRefs.[compRef] <- 1; compRef
  
  let mutable internal comps = Dictionary()
  
  let compName comp =
      match comps.TryGetValue comp with
      | true,n -> comps.[comp] <- n+1; comp + n.ToString()
      | _ -> comps.[comp] <- 1; comp
  
  
  
  /// Creates a WiX File tag from the given FileInfo
  let wixFile (fileInfo:FileInfo) =
  