dowsing
dowsing copied to clipboard
Possible improvement
Currently, with 'a -> 'b c1 * c2 * c3 * c4 * c5 * c6 * c7 * c8 -> 'b the number of AC solutions tried and the number of unifiers grow exponentially with the number of ci. This could be avoided with the following optimisation. For an arrow type, if there is a variable that appears only once on the left, then we don't need to try the possibility for the head to be an arrow type.