Use `toString` check rather than `instanceof` check.

Re: discussion in #1 Should fix wonky js context things.

This seems to provide the semantics of what the type specifies, since `throw`ing if we didn't immediately get an `Error` actually introduces back an `Exception` effect. which `catchException` is supposed to remove.
I think it's worth the slightly less clear (but common and idiomatic) `{}.toString` call. If there was a downside to doing it the right way, I'd be 100% on your side, but it doesn't hurt anything in this case.