     data-processing-fn))
 
 (defn combine-proc-fns
+  "Based on the DSL expression dsl-expression, create a data processing function in which the processing rules starting at start-idx, inclusive, up to end-idx, non inclusive, are combined.
+   Please note that it is usually more appropriate to use combine-proc-fns-vec."
   [dsl-expression start-idx end-idx]
   (if (= 0 start-idx)
     (create-proc-fn

       :rules (subvec (:rules dsl-expression) start-idx end-idx)})))

(defn combine-proc-fns-vec
  [fn-mapping dsl-expression]
  (reduce
    (fn [v m]


(def ^:dynamic *incremental-indicator-suffix* "#inc")

(defn- create-proc-sub-fn
  "Create a sub part of a processing function.
   The data-processing-definition will be processed recursively.
   This function is responsible for actually resolving the given data processing functions.
   The input symbol will be placed as first argument on the innermost terms."
  [data-processing-definition input]
  (into
    '()
