         has-more? (seq (filter #(or (:optional %) (:multiple %)) args))]
     (if has-more? (conj fixed-args '& 'args) fixed-args)))
 
-(defn- args->params-doc-string
+(defn- args->params-docstring
   "Parses refspec argument map into Redis reference-doc-style explanatory
   string: \"BRPOP key [key ...] timeout\", etc."
   [args]

  Defined function will require a *context* binding to run."
  [command-name {args :arguments :as refspec} debug-mode?]
  (let [fn-name (-> command-name (str/replace #" " "-") str/lower-case)
        fn-doc-string (str command-name " "
                           (args->params-doc-string args)
                           "\n\n" (:summary refspec) ".\n\n"
                           "Available since: " (:since refspec) ".\n\n"
                           "Time complexity: " (:complexity refspec))

        fn-params      (args->params-vec args)
        request-params (into (str/split command-name #" ")

(ns taoensso.carmine.commands
  "Define an appropriate function for EVERY Redis command. This is done by
  parsing the official Redis command reference (JSON) which includes up-to-date
  docstrings, argument specs, etc. This awesome approach was adapted from
  labs-redis-clojure."
  {:author "Peter Taoussanis"}
  (:require [clojure.java.io   :as io]
