Catch old fn* syntax

There's an [old signature](https://github.com/clojure/clojure/blob/master/src/clj/clojure/core.clj#L29) for fn* which walk-exprs chokes on.  Not sure whether to file this pull request or a bug on clojure.core to update the usages there.

This patch is probably imperfect as it alters the form being returned, albeit to something with the same effect.

Best regards,
Alex