anchor.diff:      { Id : PackageId
         Version : PackageVersion }
   
  -
   type VcsType = 
       | Git
       | Hg
  +
  +type RepositoryName = private RepositoryName of string
  +with
  +    member this.Value = (fun (RepositoryName x) -> x)this
  +    static member Bind(name : string) = RepositoryName (name.ToLowerInvariant())
  +
  +type RepositoryUrl = RepositoryUrl of string
  +with
  +    member this.Value = (fun (RepositoryUrl x) -> x)this
   
   type Repository = 
       { Name : RepositoryName
         Vcs : VcsType
         Url : RepositoryUrl }
  -and RepositoryName = private RepositoryName of string
  -with
  -    member this.Value = (fun (RepositoryName x) -> x)this
  -    static member Bind(name : string) = RepositoryName (name.ToLowerInvariant())
  -and RepositoryUrl = RepositoryUrl of string
  -with
  -    member this.Value = (fun (RepositoryUrl x) -> x)this
   
   type ProjectRelativeFile = ProjectRelativeFile of string
   with
  
positive.code:     static member Bind (file : FileInfo) =  AssemblyRef.Bind (Path.GetFileNameWithoutExtension(file.Name))
  
  type BookmarkName = BookmarkName of string
  type BookmarkVersion = BookmarkVersion of string
  
  type Bookmark = { Name : BookmarkName
                    Version : BookmarkVersion }
  
  type PackageVersion = PackageVersion of string
  with
  
negative.code:       AssemblyReferences : AssemblyRef set
        PackageReferences : PackageId set
        ProjectReferences : ProjectRef set }
  
  type ApplicationName = ApplicationName of string
  
  type Application = 
      { Name : ApplicationName
        Projects : ProjectRef set }
  
  type Anthology = 
      { Applications : Application set
  