             [pigpen.cascading.runtime :as cs]
             [pigpen.raw :as raw]
             [pigpen.oven :as oven]
-            [taoensso.nippy :refer [freeze thaw]]))
+            [taoensso.nippy :refer [freeze thaw]]
+            [clojure.pprint]))
 
 (defmulti get-tap-fn
           identity)
 
 (defmethod get-tap-fn :string [_]
-  (fn [location] (Hfs. (TextLine.) location)))
+  (fn [location opts] (Hfs. (TextLine.) location)))
 
 (defmethod get-tap-fn :default [_]
   (throw (Exception. (str "Unrecognized tap type: " name))))

  {:pre [expr args]}
  (let [{:keys [init func]} expr
        fields (if field-projections
                 (Fields. (into-array (map #(cascading-field (:alias %)) field-projections)))
                 Fields/UNKNOWN)
        get-group-info #(cond (instance? CoGroup %) {:num-streams (alength (.getPrevious %))
                                                     :type        (if (.startsWith (.getName %) "join") :join :group)}

(defmethod command->flowdef :projection-flat
  [{:keys [code alias pipe field-projections]} flowdef]
  {:pre [code alias]}
  (command->flowdef (assoc code :pipe pipe :field-projections (or field-projections [alias])) flowdef))

(defmethod command->flowdef :generate
  [{:keys [id ancestors projections field-projections opts]} flowdef]
