 
 (defn delete! [target]
   (let [target (if (sequential? target) target [target])
-        key (if (every? #(instance? Key %) target)
-                target
-                (map get-key-object target))]
+        key (coerce-to-key-seq target)]
     (.delete (get-datastore-service) key)))
 
 

                   "entity has no valid :key metadata, and has no fields marked :key")))))


(defn save!-helper [entity-record kind]
  (let [key-object (get-key-object entity-record)
        entity (if key-object
                   (Entity. key-object)

         (get-key-object-helper this# ~key-property ~kind))
       (get-key-object [this# parent#]
         (get-key-object-helper this# ~key-property ~kind :parent parent#))
       (get-entity-object [this#]
         (get-entity-object-helper this# ~kind))
       (save! [this#]
         (save!-helper this#)))))


(defmacro new* [entity-record-type property-values & {:keys [parent]}]
