   (def valid-attrs {:person [:person/name :person/favorite-dessert]
                     :dessert [:dessert/name]})
 
+  ;; Alternatively, partition maps and valid-attrs can be generated
+  ;; from your Schematode definition. Caution! If you add anything to
+  ;; your Schematode that doesn't belong there so you can keep using
+  ;; these shortcuts, you should instead make these by hand!
+
+  (def partitions2 (hatch/schematode->partitions schematode-def))
+
+  (def valid-attrs2 (hatch/schematode->attrs schematode-def))
+
   ;; callers should def their own tx-entity! fns kinda like this
   (def tx-entity! (partial hatch/tx-clean-entity! partitions valid-attrs))
+  (def tx-entity2! (partial hatch/tx-clean-entity! partitions2 valid-attrs2))
 
   ;; galleon will do this init stuff
   (schematode/init-schematode-constraints! (:db-conn ht-config/system))

  [m prefix]
  (into {} (for [[k v] m] [(slam prefix k) v])))


(defn ensure-db-id
  "Ensure an entity has a db/id using tempid."

             {:person/name "Jon"
              :person/favorite-dessert [:dessert/name "ice cream"]})

  (tx-entity2! (:db-conn ht-config/system) :dessert {:dessert/name "pie"})
  (tx-entity2! (:db-conn ht-config/system)
             :person
             {:person/name "Becky"
              :person/favorite-dessert [:dessert/name "pie"]})

)
