anchor.diff:                  XAttribute(NsNone + "Label", repo.toString),
                   XAttribute(NsNone + "Group", "Expanded"))
   
  -        yield XElement(NsDgml + "Node",
  +        if packages.Count > 0 then
  +            yield XElement(NsDgml + "Node",
                   XAttribute(NsNone + "Id", "Packages"),
                   XAttribute(NsNone + "Label", "Packages"),
                   XAttribute(NsNone + "Group", "Expanded"))
   
  -        yield XElement(NsDgml + "Node",
  +        if assemblies.Count > 0 then
  +            yield XElement(NsDgml + "Node",
                   XAttribute(NsNone + "Id", "Assemblies"),
                   XAttribute(NsNone + "Label", "Assemblies"),
                   XAttribute(NsNone + "Group", "Expanded"))
  
positive.code:         for project in importedProjects do
              yield GenerateNode (project.ProjectGuid.toString) (project.Output.toString) "ProjectImport"
  
          for package in allPackageReferences do
              yield GenerateNode (package.toString) (package.toString) "Package"
  
          for assembly in allAssemblies do
              yield GenerateNode (assembly.toString) (assembly.toString) "Assembly"
      }
  
  
negative.code:         XAttribute(NsNone + "Target", target),
          XAttribute(NsNone + "Category", category))
  
  let GraphNodes (projects : Project set) (allProjects : Project set) (packages : PackageId set) (assemblies : AssemblyId set) (repos : RepositoryId set) =
      let importedProjects = Set.difference allProjects projects
  
      seq {
          for repo in repos do
  