Fork me on GitHub

I believe it's intentional instance? essentially outputs a JS `x instanceof c`, which walks the prototype chain of `x` to see of `c` appears. because protocols are meant to be dynamically extended to objects (including native objects), you wouldn't want to change the prototype in a way that would make that work. but at the same time, `instance?` matches the object model of JS so that it works the way one would expect when checking if e.g. `(instance? js/Date (js/` and is also very fast