+fold_edge_facts_b ::
+ LastNode l => (DualLive -> a -> a) -> BackwardTransfers m l DualLive -> LGraph m l
+ -> (BlockId -> DualLive) -> a -> a
+fold_edge_facts_b f comp graph env z =
+ foldl fold_block_facts z (postorder_dfs graph)
+ where
+ fold_block_facts z b =
+ let (h, l) = goto_end (ZipCfg.unzip b)
+ last_in _ LastExit = fact_bot dualLiveLattice
+ last_in env (LastOther l) = bt_last_in comp env l
+ in head_fold h (last_in env l) z
+ head_fold (ZHead h m) out z = head_fold h (bt_middle_in comp out m) (f out z)
+ head_fold (ZFirst id) out z = f (bt_first_in comp out id) (f out z)
+
+foldConflicts :: (RegSet -> a -> a) -> a -> LGraph M Last -> FuelMonad a