 
 (defn get-file-info*
   "extract some basic information from a given file, does not resolve dependencies"
-  [{:keys [compiler node-modules-dir project-dir] :as npm} ^File file]
+  [{:keys [compiler ^File node-modules-dir ^File project-dir] :as npm} ^File file]
   {:pre [(service? npm)
          (util/is-file-instance? file)
          (.isAbsolute file)]}
 
-  (let [abs-path
+  (let [^Path abs-path
         (.toPath project-dir)
 
-        node-modules-path
+        ^Path node-modules-path
         (.toPath node-modules-dir)
 
-        file-path
+        ^Path file-path
         (.toPath file)
 
         npm-file?

        file
        (test-file rel-dir require)

        file
        (cond
          (not file)
          (test-file-exts npm rel-dir require)

                 (remove nil?)
                 (into []))

            [entry ^File entry-file]
            (or (reduce
                  (fn [_ entry]
                    ;; test file exts first, so we don't pick a directory over a file
