         rules (:rules dsl-expression)
         output-sym (if (.endsWith output-type *incremental-indicator-suffix*)
                      'output)
-        let-body-creation-fn (condp (fn [^String v ^String s] (.startsWith s v)) output-type
-                               "java-map" create-let-body-vec-java-map-out
-                               "clj-map" create-let-body-vec-clj-map-out
-                               "csv-str" create-let-body-vec-csv-str-out
-                               "json-str" create-let-body-vec-json-str-out
-                               (do
-                                 (println "Unknown output type:" output-type)
-                                 (println "Defaulting to :java-map as output type.")
-                                 create-let-body-vec-java-map-out))
+        output-format-fn (condp (fn [^String v ^String s] (.startsWith s v)) output-type
+                           "java-map" create-let-body-vec-java-map-out
+                           "clj-map" create-let-body-vec-clj-map-out
+                           "csv-str" create-let-body-vec-csv-str-out
+                           "json-str" create-let-body-vec-json-str-out
+                           (do
+                             (println "Unknown output type:" output-type)
+                             (println "Defaulting to :java-map as output type.")
+                             create-let-body-vec-java-map-out))
 ;        _ (println "Created data processing function vector from DSL:" fn-body-vec)
-        fn-body (create-let-expression input-sym rules let-body-creation-fn output-sym 0)
+        fn-body (create-let-expression input-sym rules output-format-fn output-sym 0)
 ;        _ (println "Created data processing function body:" fn-body)
 ;        _ (pprint fn-body)
 ;        _ (println "")

(declare create-proc-fn)

(defn- create-bindings-vector
  [input rules body-creation-fn output nesting-level]
  (reduce
    (fn [v rule]
      (let [rule-name (first rule)

            (every? vector? rule-expression)) (let [nested-expr (create-let-expression
                                                                  input
                                                                  rule-expression
                                                                  out-format-fn
                                                                  output
                                                                  (inc nesting-level))]
                                                (conj v (prefix-rule-name rule-name nesting-level) nested-expr))
