   ([kv] (make-kv (first kv) (second kv))))
 
 (defn dkey
+  {:doc "Returns the key part of a KV or MapEntry."
+   :added "0.1.0"}
   [elt]
   (if (instance? KV elt)
     (let [^KV kv elt]

        (f elem num)))))

(defn dpartition-by
  ([f num options ^PCollection pcoll]
   (let [opts (assoc options :label :partition-by)
         ptrans (Partition/of num (partition-fn f))]

   ptransform schema))

(defn apply-transform
  "apply the PTransform to the given Pcoll applying options according to schema."
  [pcoll ^PTransform transform schema
   {:keys [coder coll-name] :as options}]
  (let [nam (some-> options (:name) (name))
