anchor.diff:          { ResolvedPackages = Resolution.Ok(resolution); ResolvedSourceFiles = lockFile.SourceFiles }
   
       let resolution =
  -        if updateAll then
  -            resolve dependenciesFile None
  -        else
  -            match package with
  -            | None -> install ()
  -            | Some package -> selectiveUpdate package
  +        match UpdateMode.Mode updateAll package with
  +        | UpdateAll -> resolve dependenciesFile None
  +        | Install -> install ()
  +        | SelectiveUpdate p -> selectiveUpdate p
   
       LockFile(lockFile.FileName, dependenciesFile.Options, resolution.ResolvedPackages.GetModelOrFail(), resolution.ResolvedSourceFiles)
   
  
positive.code:         newDependenciesFile.Save()
          newDependenciesFile
  
  let selectiveUpdate resolve lockFile dependenciesFile updateAll package =
      let install () =
          let changedDependencies = DependencyChangeDetection.findChangesInDependenciesFile(dependenciesFile,lockFile)
  
negative.code:         | l -> l
  
      let getVersion pr =
          match UpdateMode.Mode updateAll exclude with
          | UpdateAll -> id
          | SelectiveUpdate _ -> id
          | Install -> skipVersions pr
  
      let lockFile = selectiveUpdate (fun d p -> d.Resolve(getVersion, force, p, requirements)) oldLockFile dependenciesFile updateAll exclude
      lockFile.Save()
  