_Comment made by: claj_
Yet another, simpler version of defonce. No test-cases included.
This version just makes an {{(or (nil? v#) (not (.hasRoot v#))}} test on the resolved variable. If this is true, really define by {{(def ~name ~@args)}} else do nothing.