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 guess that wouldn't match `TypeError` and the like though?