Support writing needed extension types

A Clojure set actually does implement `java.util.Set`