Using `instanceof` is problematic if the constructor lives in a different window, thread, etc. since the prototypes will actually be different objects.  We used to run into this a lot with Processing.js.  As we move to a `postMessage`, WebRTC, etc. world, it's dangerous to rely on this.