clojure 1.7 changes the interning of strings when creating symbols, as is described here
Therefore, two non-unique lvars with the same name don't have to be equal anymore with the current
Lvar equality method which checks (identical? name (:name o)).
This is causing expresso, which relies on non-unique lvars for the rule engine to fail with clojure 1.7
changing the identical? to a = fixes the issue.