anchor.diff:                          PreReleaseStatus.All
   
                   let available = availableVersions |> Seq.toList
  -                let allPrereleases = available |> List.filter (fun (v,_) -> v.PreRelease <> None) = available
  +                let allPrereleases = available |> List.filter (fun (cache:VersionCache) -> cache.Version.PreRelease <> None) = available
                   let prereleases = List.filter (isInRange (fun r -> r.IncludingPrereleases(prereleaseStatus r))) available
                   if allPrereleases then
                       Seq.ofList prereleases, globalOverride
  
positive.code:         TryRelaxed           = false
          GlobalOverride       = false
          Conflicts            = (Set.empty : Set<PackageRequirement>)
          VersionsToExplore    = (Seq.empty : seq<SemVerInfo * PackageSource list>)
      }
  
      let stackpack = {
          ExploredPackages     = Dictionary<PackageName*SemVerInfo,ResolvedPackage>()
          KnownConflicts       = (HashSet() : HashSet<HashSet<PackageRequirement> * ((SemVerInfo * PackageSource list) list * bool) option>)
          ConflictHistory      = (Dictionary() : Dictionary<PackageName, int>)
      }
  
  
negative.code:         { dependency with
              Name = n
              VersionRequirement = v
              Parent = Package(dependency.Name, verCache.Version, exploredPackage.Source)
              Graph = Set.add dependency dependency.Graph
              TransitivePrereleases = dependency.TransitivePrereleases && exploredPackage.Version.PreRelease.IsSome
              Settings = { dependency.Settings with FrameworkRestrictions = newRestrictions } })
  