anchor.diff:                                  (Seq.fold(fun acc elem -> acc + elem.ToString()) "" w.Files) 
                                   (Seq.fold(fun acc elem -> acc + elem.ToString()) "" w.ServiceControls)
                                   (Seq.fold(fun acc elem -> acc + elem.ToString()) "" w.ServiceInstalls)
  +and WiXDir = 
  +    {
  +        Id : string
  +        Name : string
  +        Files : WiXFile seq
  +        Components : WiXDirectoryComponent seq
  +    }
  +    override d.ToString() = sprintf "<Direcotry Id=\"%s\" Name=\"%s\>%s%s</Directory>"
  +                                d.Id 
  +                                d.Name 
  +                                (Seq.fold(fun acc elem -> acc + elem.ToString()) "" d.Files) 
  +                                (Seq.fold(fun acc elem -> (                                                            
  +                                                            acc + match elem with
  +                                                                    | C c -> c.ToString()
  +                                                                    | D d -> d.ToString()
  +                                                           )) "" d.Components)
   
   /// Defaults for component
   let WiXComponentDefaults =
  
positive.code:                             Source = file.FullName
                          })
          |> Seq.map(fun file->
                          {
                              Id = "c" + file.Id.Substring(1)
                              Guid = "*"
                              Files = [file]
  
negative.code:     parameters
  
  /// WiX Directories define a logical directory which can include components and files
  
  
  /// Defaults for directories
  let WiXDirDefaults = 
  