WIP
Big modification
- using sets implemented as lists is way too slow, so let's use a
poor's man polymorphic sets implemented using RBTs. By the way, there
is a problem with the current code, when it comes to the insertion of
one element that is already there.
- there is no real reason to use fix, I think. That is, the graph of
dependency between types is static, so we can always compute it before
hand. Fix would be nice if the dependencies were unknown, or dynamic,
but this is not our case. Right now, my implementation is pretty
disgusting, but this is a good start.
Complete refactoring of the graph based branch. Lost many comments in the process...
Close issue #14
Merge pull request #21 from braibant/graph-based

Graph based implementation