Mon Aug 20 15:29:52 EDT 2018
Cleaned it up to use Data.Graph, which makes a lot of code simpler.
Also have expression inlining.
The question is now: is it still necessary to unify? The inlining
might already fix that, leaving type (bitwith) reconstruction of
intermediates to the target language.
EDIT: In the soc example, this seems to be the case.
One simplification is to always use Vertex for the structural
algorithms. When node representation needs to be changed, the functor
property can be used.