Attempts to create an intermediate representation of the R code, partially
evaluating as it goes.
The idea is that we are ONLY interested in the result if the R code can be
reduced to a reasonably static form that we can reason about. If there are
calls to eval(), assign() or other black holes, we abort and defer to the