anchor.diff:  
   
   type SourceElement =
  -    | File      of SourceFile
  -    | Pair      of SourcePair
  -    | Directory of SourceElement list
  -
  -    member self.ToXElem () : XElement list =
  -        match self with
  -        | File  x       -> [x.ToXElem()]
  -        | Pair  x       -> x.ToXElem()
  -        | Directory x   -> x |> List.collect (fun e -> e.ToXElem())
  +    | File      of fileName:string
  +    | Pair      of sigfile:string * modfile:string
  +    | Directory of dirName:string
  +
  +//type SourceElement =
  +//    | File      of SourceFile
  +//    | Pair      of SourcePair
  +//    | Directory of SourceElement list
  +
  +//    member self.ToXElem () : XElement list =
  +//        match self with
  +//        | File  x       -> [x.ToXElem()]
  +//        | Pair  x       -> x.ToXElem()
  +//        | Directory (content=x)   -> 
  +//            let rec loop acc (srcls:SourceElement list) =
  +//                match srcls with
  +//                | [] -> acc
  +//                | File s::tl -> loop (toXElem s ::acc) tl
  +//                | Pair s::tl -> loop (toXElem s @ acc) tl
  +//                | Directory (content=s)::tl -> loop ((loop [] s)@acc) tl
  +//            loop [] x
  +//        
   
   
   type Property<'a> =
  
positive.code:         }
  
      member self.ToXElem () =
          XElem.create (string self.OnBuild) []
          |> XElem.setAttribute Constants.Include self.Include
          |> mapOpt self.Condition ^ XElem.setAttribute Constants.Condition
          |> mapOpt self.Link      ^ XElem.addElem Constants.Link
  
negative.code:     Rough Architecture
      ------------------
  
      [ FsProject ]
          `-- Project Settings
          `-- ConfigSettings
          `-- Project References
          `-- References
          `-- SourceFiles
              `-- Directory | Single File | .fsi & .fs src pair
  
  *)
  
  