 
 (def reserved-properties
   "Properties that can't be specified during a create or update."
-  (reduce conj common/reserved-properties [:collection :categories])) 
+  (reduce conj common/reserved-properties [:collection])) 
 (def retained-properties
   "Properties that are retained during an update even if they aren't in the updated property set."
   (reduce conj common/retained-properties [:collection :categories]))

  Ensure the slug is valid and doesn't already exist if it's specified,
  or return :invalid-slug or :slug-conflict respectively.
  If a property is included in the map of properties that is in the reserved-properties
  set, :property-conflict will be returned."
  ([coll-slug taxonomy-name] (valid-new-taxonomy coll-slug taxonomy-name {}))
  ([coll-slug taxonomy-name props]
    (resource/valid-new-resource coll-slug taxonomy-name reserved-properties type props)))

;; TODO if no taxonomy structure is provided create the initial empty one
;; TODO if a taxonomy structure is provided, make sure it's valid
(defn create-taxonomy
  "Create a new taxonomy in the collection specified by its slug, using the specified
  taxonomy name and an optional map of properties.

            true
            (recur (first non-leaves) (vec (rest non-leaves))))))))

(defn valid-new-taxonomy
  "Given the slug of the collection, the name of the taxonomy, and a map of a potential new taxonomy,
  check if the everything is in order to create the new taxonomy.
