   the root, if it is a post it will be placed under a directory strucutre based
   on its date."
   [parser-fn]
-  (fn [file]
-    (let [parse (File->Parse parser-fn file)]
+  (fn html-parser-parser [file]
+    (let [^Parse parse (File->Parse parser-fn file)]
       (when (publish-parse? parse)
         (record-parse! (.getCanonicalPath file) parse)
         (delay [(write-Parse parse)])))))

    (try
      (edn/read-string s)
      (catch RuntimeException e
        (throw (ex-info (str "The given string seemed to start with a map, but"
                             "failed to be interpretted as edn.")
                        {:string s}
                        e))))))

(defn write-Parse
  "Write the result of Parse->string to a file in the out-dir at the path
  specified in the given parse. Return the written File."
  [^Parse parse-data]
  (let [out-file (file (conf/get :out-dir) (:path parse-data))]
    (-> out-file
        (.getParentFile)
