This isn't right, you only want to remove if it was in there before. A test that will fail with this:

```
with ec.recursion_guard(x) as in_recursion:
  with ec.recursion_guard(x) as in_recursion:
    assert in_recursion
  with ec.recursion_guard(x) as in_recursion:
    assert in_recursion
```