now in... clojure? We usually don't use dynamic dispatch, but if you wanted to explicitly have an animal-ey map with a name and number of legs, it's:
(def dog #:animal{:name "dog" :number-of-legs 4})