---------------------------------------------------------------------------------
-
--- Solve a fixed-point of a dataflow problem.
---
--- dependants: map from nodes to those who's value depend on the argument node
--- update:
--- Given the node which needs to be updated, and
--- which node caused that node to need to be updated,
--- update the state.
--- (The causing node will be 'Nothing' if this is the initial update.)
--- Must return 'Nothing' if no change,
--- otherwise returrn 'Just' of the new state
--- nodes: a set of nodes that initially need updating
--- state: some sort of state (usually a map)
--- containing the initial value for each node
+-----------------------------------------------------------------------------
+-- | Solve the fixed-point of a dataflow problem.