anchor.diff:                      model.AddOrReplaceGroup(
                           framework.Group,
                           (fun group ->
  -                            match Map.tryFind framework group.Frameworks with
  -                            | Some files when Set.isEmpty files.References -> 
  -                                { group with Frameworks = 
  -                                                Map.add framework { References = newFiles
  -                                                                    ContentFiles = Set.empty } 
  -                                                    group.Frameworks }
  -                            | None -> 
  -                                { group with Frameworks = 
  -                                                Map.add framework { References = newFiles
  -                                                                    ContentFiles = Set.empty } 
  -                                                    group.Frameworks }
  -                            | _ -> group),
  +                            group.ReplaceFramework(
  +                                framework,
  +                                (fun _ -> { References = newFiles; ContentFiles = Set.empty }),
  +                                (fun files -> files),
  +                                (fun _ -> Some({ References = newFiles; ContentFiles = Set.empty })))),
                           (fun _ -> Some(FrameworkGroup.singleton(framework,{ References = newFiles; ContentFiles = Set.empty }))))) this
       
       member this.UseLastInGroupAsFallback() = 
  
positive.code:             (fun group ->
                  group.ReplaceFramework(
                      framework,
                      (fun files -> files.AddFrameworkAssemblyReference assemblyName),
                      (fun _ -> Some (InstallFiles.empty.AddFrameworkAssemblyReference assemblyName)))),
              (fun _ -> None))
  
negative.code:     static member singleton(framework,libs) =
          { Frameworks = Map.add framework libs Map.empty; Fallbacks = InstallFiles.empty }
  
      member this.ReplaceFramework(framework,f1,f2,f3) =
          { this with Frameworks = 
                          match Map.tryFind framework this.Frameworks with
                          | Some files when Set.isEmpty files.References -> Map.add framework (f1()) this.Frameworks
                          | Some files -> Map.add framework (f2 files) this.Frameworks
                          | None -> 
                              match f3() with
                              | Some files -> Map.add framework files this.Frameworks
                              | None -> this.Frameworks }
  
  