Why should I use Reify instead of proxy in clojure?
The method bodies of reify are lexical closures, and can refer to the surrounding local scope. reify differs from proxy in that:
The result is better performance than proxy, both in construction and invocation. reify is preferable to proxy in all cases where its constraints are not prohibitive.
Source: http://clojure.org/datatypes
Use reify where you would once use proxy, unless you need to override base class methods.