       (vec ck))))
 
 (defn flatten-key
+  "coerce to a vector and remove any partition-key nesting"
   [key]
-  (-> key v/coerce flatten))
+  (some-> key v/coerce flatten vec))
 
 (defn extract-key-value
   "extract a key value from some combination of explicit value

  "true if the record contains? keys for all the key components"
  [key record]
  (->> key
       flatten
       (map #(contains? record %))
       (every? identity)))

   (extract-key-value key record-or-key-value {}))

  ([key record-or-key-value {:keys [key-value]}]
   (let [key (flatten-key key)
         key-value (or (flatten-key key-value)
                       (if-not (map? record-or-key-value)
                         (flatten-key record-or-key-value)
                         (repeat (count key) nil)))
         record (when (map? record-or-key-value)
                  record-or-key-value)
