   "Sends a command to Redis server using its byte string protocol:
 
       *<no. of args>     crlf
-      [ $<size of arg N> crlf
+      [$<size of arg N>  crlf
         <arg data>       crlf ...]"
   [& args]
   (let [^BufferedOutputStream out (or (:out-stream *context*)

    (.write out (bytestring (str (count args))))
    (send-crlf out)

    (dorun (map (partial send-arg out) args))
    (.flush out)

    (when-let [pq (:parser-queue *context*)] (swap! pq conj *parser*))))

                   :else                        :serialized)

        ^bytes ba (case type
                    :string        (bytestring arg)
                    :keyword       (bytestring (name arg))
                    :simple-number (bytestring (str arg))
                    :bytes arg
                    :preserved   (nippy/freeze-to-bytes (.value ^Preserved arg))
                    :serialized  (nippy/freeze-to-bytes arg))

        payload-size (alength ba)
        marked-type? (not (or (= type :string) (= type :simple-number)))
