(defn slice ([] (slice "hello world")) ([v] (-slice v))) (defprotocol Pizza (-slice [this])) (extend-type String Pizza (-slice [this] (do this))) (slice "works") ;; works (slice) ;; hello world