*** SHED SKIN Python-to-C++ Compiler ***
Copyright 2005-2013 Mark Dufour; License GNU GPL version 3 (See LICENSE)
infer.py: perform iterative type analysis
we combine two techniques from the literature, to analyze both parametric
polymorphism and data polymorphism adaptively. these techniques are agesen's
cartesian product algorithm [0] and plevyak's iterative flow analysis [1] '(the data
polymorphic part)'. for details about these algorithms, see ole agesen's
excellent Phd thesis [2]. for details about the Shed Skin implementation, see Mark