(defn read-file-ns-decl
"Attempts to read a (ns ...) declaration from file, and returns the
unevaluated form. Returns nil if read fails, or if the first form
is not a ns declaration."
[file]
(with-open [rdr (PushbackReader. (io/reader file))]
(parse/read-ns-decl rdr)))