-mergeData (nl, il) = do
- let
- nl2 = foldl' fixNodes nl il
- il3 = Container.fromAssocList il
- nl3 = Container.fromAssocList
+mergeData um (nl, il) = do
+ let il2 = Container.fromAssocList il
+ il3 <- foldM (\im (name, n_util) -> do
+ idx <- Container.findByName im name
+ let inst = Container.find idx im
+ new_i = inst { Instance.util = n_util }
+ return $ Container.add idx new_i im
+ ) il2 um
+ let nl2 = foldl' fixNodes nl (Container.elems il3)
+ let nl3 = Container.fromAssocList