anchor.diff:              | _ -> failwithf "This should never happen")
           |> Map.ofSeq
   
  +// Defines common operations on the runtime graph
   module RuntimeGraph =
       open PackageResolver
   
  
positive.code:             | _ -> currentList
  
          getListRec [rid] [rid]
  
      let getKnownRids (g:RuntimeGraph) =
          g.Runtimes |> Map.toSeq |> Seq.map fst
  
      let areCompatible projectRid assetRid g =
          g
          |> getInheritanceList projectRid
          |> List.contains assetRid
  
      let findRuntimeDependencies rid packageName g =
          getInheritanceList rid g
          |> Seq.choose (fun r ->
  
negative.code:          RuntimeDependencies =
              Map.merge (@) d1.RuntimeDependencies d2.RuntimeDependencies
              |> Map.map (fun _ l -> List.distinct l) }
      /// merge two runtime graphs
      let merge (r1:RuntimeGraph) (r2:RuntimeGraph) =
         { Supports = Map.merge mergeCompatibility r1.Supports r2.Supports
           Runtimes = Map.merge mergeDescription r1.Runtimes r2.Runtimes }
      /// merge a sequence of runtime graphs
      let mergeSeq s =
          s |> Seq.fold merge RuntimeGraph.Empty
      /// get the list of compatible RIDs for the given RID. Most compatible are near the head. The list contains the given RID in the HEAD
      let getInheritanceList (rid:Rid) (g:RuntimeGraph) =
          let rec getListRec currentList toInspect =
              match toInspect with
  