   (let [p (update-table client-opts :faraday.tests.main {:read 1 :write 1})]
     @p))
 
-(defn delete-table-request
-  "Implementation detail"
-  [table]
+(defn delete-table-request "Implementation detail."
+  ^DeleteTableRequest [table]
   (DeleteTableRequest. (name table)))
 
 (defn delete-table "Deletes a table, go figure."
   [client-opts table]
-  (as-map (.deleteTable (db-client client-opts) ^DeleteTableRequest (delete-table-request table))))
+  (as-map (.deleteTable (db-client client-opts) (delete-table-request table))))
 
 ;;;; API - items
 
-(defn get-item-request
-  "Implementation detail"
+(defn get-item-request "Implementation detail."
   [table prim-kvs & [{:keys [attrs consistent? return-cc?]}]]
   (doto-cond [g (GetItemRequest.)]
     :always     (.setTableName       (name table))


(defn throughput-steps
  "Implementation detail.

  Dec by any amount, inc by <= 2x current amount, Ref. http://goo.gl/Bj9TC.
  x - start, x' - current, x* - goal."
  [[r w] [r* w*]]

                 chunk))))]
    (step nil)))

(defn describe-table-request "Implementation detail."
  ^DescribeTableRequest [table]
  (doto (DescribeTableRequest.) (.setTableName (name table))))

(defn describe-table
  "Returns a map describing a table, or nil if the table doesn't exist."
  [client-opts table]
  (try (as-map (.describeTable (db-client client-opts)
                 (describe-table-request table)))
       (catch ResourceNotFoundException _ nil)))

(defn table-status-watch
