Fork me on GitHub
#cljs-dev
<
2022-02-19
>
lilactown17:02:01

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/Date.now))` and is also very fast