               pr))))
       indexes)))
 
-(defn- global-2nd-indexes
-  "[{:name _ :hash-keydef _ :range-keydef _ :projection _ :throughput _} ...]
+(defn global-2nd-indexes
+  "Implementation detail.
+
+  [{:name _ :hash-keydef _ :range-keydef _ :projection _ :throughput _} ...]
   indexes -> [GlobalSecondaryIndex ...]"
   [indexes]
   (when indexes

  (batch-get-item   client-opts {:faraday.tests.main {:prim-kvs {:id (range 20)}}})
  (scan client-opts :faraday.tests.main))

(defn- write-request [action item]
  (case action
    :put    (doto (WriteRequest.) (.setPutRequest    (doto (PutRequest.)    (.setItem item))))
    :delete (doto (WriteRequest.) (.setDeleteRequest (doto (DeleteRequest.) (.setKey  item))))))

  (when-not (describe-table client-opts table-name)
    (create-table client-opts table-name hash-keydef opts)))

(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*]]
  (let [step (fn [x* x'] (if (< x* x') x* (min x* (* 2 x'))))]
