This chunk of the API is modeled directly on the same piece of `domains` -- because we expose `enter` and `exit` directly on the namespace, it's possible that people will enter the same context multiple times, and that `enter` and `exit` won't always be nested in the ways you expect. Also, the possibility of nonlocal exit (i.e. throws) means that the continuations need to be cleared up. This is demonstrated in the test cases on [othiym23/node-continuation-local-storage-glue](https://github.com/othiym23/node-continuation-local-storage-glue/blob/master/test/error-handling.tap.js). I'll make sure all those test cases get ported over as I keep working on this thing.