                      nil))
                  (fun rate num-outs args ugen spec))]
 
-    (if (string? result)
-      (throw (IllegalArgumentException. (str "Error in checker for ugen "
-                                             (overtone-ugen-name (:name spec))
-                                             ":\n"
-                                             result
-                                             "\n"
-                                             (ugen-arg-info spec ugen)
-                                             (when *debugging*
-                                               (str
-                                                "\n\nUgen:\n"
-                                                (with-out-str (pprint (simplify-ugen ugen))))))))
-      ugen)))
+    (when (string? result)
+      (let [error-message (str "Error in checker for ugen "
+                               (overtone-ugen-name (:name spec))
+                               ":\n"
+                               result
+                               "\n"
+                               (ugen-arg-info spec ugen)
+                               (when *debugging*
+                                 (str
+                                  "\n\nUgen:\n"
+                                  (with-out-str (pprint (simplify-ugen ugen))))))]
+        (if *checking*
+          (throw (IllegalArgumentException. error-message))
+          (println error-message))))
+    ugen))
 
 (defn- check-arg-rates [spec ugen]
   (let [cur-rate (REVERSE-RATES (:rate ugen))

                  floater
                  appender
                  auto-rater
                  (with-checking-disabling nil-arg-checker)
                  (with-checking-disabling bespoke-checker)
                  associative->id
                  (with-checking-disabling rate-checker)
                  (with-checking-disabling sanity-checker)
                  (with-checking-disabling arg-name-checker)
                  (with-debugging (partial print-args-post-processing spec)))))))

(defn- with-fn-names

  metadata). Simply returns nil."
  [rate num-outs args ugen spec] nil)


(defn- with-debugging [f ugen]
  (when *debugging*
