You need to use instance?
not extends?
.
extends?
asks whether a type extends a protocol. ITransientCollection is a Java interface, not a protocol, so instance?
is the tool for that.
user=> (instance? clojure.lang.ITransientCollection (transient {}))
true
user=> (instance? clojure.lang.ITransientCollection {})
false