   [{:keys [hash-key range-key]}]
   (let [key (Key.)]
     (when hash-key
-      (.setHashKeyElement key (to-attr-value hash-key)))
+      (.setHashKeyElement key (clj-val->db-val hash-key)))
     (when range-key
-      (.setRangeKeyElement key (to-attr-value range-key)))
+      (.setRangeKeyElement key (clj-val->db-val range-key)))
     key))
 
 (defn get-item

    (.setItem
      (into {}
        (for [[id field] item]
          {(name id) (to-attr-value field)})))))

(defn- write-request [verb item]
  (let [wr (WriteRequest.)]

     (.setItem
      (into {}
            (for [[k v] item]
              [(name k) (clj-val->db-val v)])))
     (set-expected-value! expected))))

(defn- item-key
