The functions in this module implement pruning of
to remove hidden nodes as far as possible, while still showing the
structure between non-hidden nodes.
NB. It is assumed the PureGraph is acyclic!
|:: (Ord nodeInfo, Ord arcInfo)|
|=> (nodeInfo -> Bool)|
This function returns True if a node is hidden.
|-> PureGraph nodeInfo arcInfo|
|-> PureGraph nodeInfo (Maybe arcInfo)|
In the returned graph, we use
Remove hidden vertices as far as possible from a graph, which must be acyclic, while still preserving the structure as far as possible.