Also, a nice way to do this test is to show that l round-trips through cse; something that doesn't happen with master:

```
z = x0 + x2 + y/x
l = [cos(z) + x + 2, x + 2, z]  # order matters here; in reverse order this passes in master
c = cse(l)
assert [w.subs(list(reversed(c[0]))) for w in c[-1]] == l
```