&gt; It&#x27;s just not Lisp-y :-)<p>...but you can do it in Clojure, right? (honestly I don&#x27;t know anything about Clojure).  I guess some diehard old-school lispers don&#x27;t consider Clojure lispy.  Is there another way it isn&#x27;t lispy?  Certainly someone could come up with generic functions that dispatch on types, and then the problem would be trivial.  The &quot;filtered-functions&quot; mentioned above, seems to have the machinery required.