Oh good point - the way I normally deal with situations like this is to create the right environment explicitly:

```R
e <- new.env(parent = parent.frame())
e$o <- o
...
```

but that's probably overkill here