       :type  (create-type-system-type definition)
       :input (create-type-system-input definition)
       :union  (create-type-system-union definition)
-      :interface (create-type-system-interface definition))))
+      :interface (create-type-system-interface definition)
+      :enum (create-type-system-enum definition))))
 
 (defn type-system-type-definitions
   [type]

        type-fields (:type-fields definition)
        fields (create-type-system-fields type-fields)]
    [name {:name name
           :kind :OBJECT
           :fields fields}]))

(defn create-type-system-definition [definition]
  (let [type (:type-system-type definition)]

        types ((type-system-type-definitions :type) definitions)
        interfaces ((type-system-type-definitions :interface) definitions)
        unions ((type-system-type-definitions :union) definitions)
        inputs ((type-system-type-definitions :input) definitions)
        enums ((type-system-type-definitions :enum) definitions)]
    (println types)
    {:types (into {} types)
     :interfaces (into {} interfaces)
     :unions (into {} unions)
     :inputs (into {} inputs)
     :enums (into {} enums)}))



