Er, yeah, that `bind` is broken. The bug didn't manifest because, for the moment, `watchPath` and `unwatchPath` don't reference `this`.

As for performance, `_watchEntry` and `_unwatchEntry` aren't called terribly often, though in the non-recursive case, they will both end up calling their respective impl methods, `watchPath` and `unwatchPath` quite a lot. So in the recursive case I replaced the `bind` with a simple `call`, which should be much faster. But in the non-recursive case, I still `bind` once to set up the function before using it repeatedly inside of `visit`.