      :signature signatures
      :type "function"}))
 
+(defn parse-defprotocol
+  [form]
+  )
+
+(defn parse-deftype
+  [form]
+  )
+
 (defmulti parse-form*
   (fn [form]
     (cond

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

(defmethod parse-form* nil
  [form]

           (not (:private (nth form 3 nil))))
      "defcurried"

      (and (= 'defprotocol (first form))
           (not (:private (meta (second form)))))
      "defprotocol"

      (and (= 'deftype (first form))
           (not (:private (meta (second form)))))
      "deftype"

      :else nil)))

(defmethod parse-form* "var"
