Problem: tracking protocol changes in clojure is too painful.