anchor.diff:      |> Rop.collect
       |> lift Seq.concat
   
  -let removePackage(packageName, transitivePackages, fileName, interactive) =
  +let private removePackage(packageName, transitivePackages, fileName, interactive) =
       if transitivePackages |> Seq.exists (fun p -> NormalizedPackageName p = NormalizedPackageName packageName) then
           if interactive then
  -            let message = sprintf "Do you want to remove transitive dependency %s from file %s ?" packageName.Id fileName 
  +            let message = sprintf "Do you want to remove transitive dependency %s from file %s?" packageName.Id fileName 
               Utils.askYesNo(message)
           else 
               true
  
positive.code: open Paket.PackageResolver
  open Paket.Rop
  
  let findTransitive (packages, flatLookup, failureF) = 
      packages
      |> List.map (fun packageName -> 
          flatLookup 
  
negative.code: }
  
  let beforeAndAfter environment dependenciesFile projects =
      environment,
      { environment with 
          DependenciesFile = dependenciesFile
          Projects = projects }
  
  let simplify interactive environment = rop {
      let! lockFile = environment |> PaketEnv.ensureLockFileExists
  