     {:docstring docstring
      :type (if dynamic? "dynamic var" "var")}))
 
+(defn parse-defcurried
+  [form]
+  (let [[_ name- docstring attr-map args] form
+        cargs (vec (butlast args))
+        signatures [cargs args]]
+    {:docstring docstring
+     :signature signatures
+     :type "function"}))
+
 (defmulti parse-form*
   (fn [form]
     (cond

           (not (:private (meta (second form)))))
      "var"

      :else nil)))

(defmethod parse-form* "var"

(defmethod parse-form* "defmacro"
  [form]
  (parse-defn-or-macro form))

(defmethod parse-form* "defcurried"
  [form]
  (parse-defcurried form))

(defmethod parse-form* nil
  [form]
