         (recur (rest fns) ((first fns) in o))))))
 
 (defn combine-proc-fns-vec
+  "Map a vector of processing functions, fn-vec, to a vector of combined functions.
+   The mapping definition fn-mapping, is a vector of integer values that define how many processing functions are combined in each combined function.
+   For a vector of processing functions [a b c d e f] a mapping definition [1 2 3] will result in the following association of processing rules to combined functions f_x: [f_1(a), f_2(b, c), f_3(d e f)]."
   [fn-mapping fn-vec]
   (reduce
     (fn [v m]

    (rest fn-mapping)))

(defn calculate-distribution-mapping
  ([in-seq ratios]
    (calculate-distribution-mapping in-seq ratios {}))
  ([in-seq ratios opts]

          (map eval fns))))))

(defn combine-proc-fns
  "Based on the given vector of processing functions, combine the functions starting at start-idx, inclusive, up to end-idx, non inclusive, into a single combined function."
  [fn-vec start-idx end-idx]
  (fn [in out]
    (loop [fns (subvec fn-vec start-idx end-idx) o out]
