A container that matches any number of levels of indirection/recursion.
This can be used to wrap a pattern where we wish to allow for variable mappings
or equations such as "var1 = var2" before we reach the 'interesting' equation.
If the expression we're matching is a ci element we recursively find the
ultimate non-ci defining expression and match our sub-pattern against that. If
the expression isn't a ci, or the ultimate definition isn't an expression, we
match our sub-pattern against it directly.
Definition at line 1401 of file optimize.py.