 
 (defn stereo-panner [pan]
   (fn [context at duration]
-    (section
+    (subgraph
       (doto (.createStereoPanner context)
         (-> .-pan (plug pan context at duration))))))
 
 (defn delay-line
   [time]
   (fn [context at duration]
-    (section
+    (subgraph
       (let [maximum 5]
         (doto (.createDelay context maximum)
           (-> .-delayTime (plug time context at duration)))))))

(defn biquad-filter
  ([type freq q]
   (fn [context at duration]
     (section
       (doto (-> (biquad-filter type freq) (run-with context at duration) :output)
         (-> .-Q (plug q context at duration))))))
  ([type freq]
   (fn [context at duration]
     (section
       (doto (.createBiquadFilter context)
         (-> .-frequency .-value (set! 0))
         (-> .-frequency (plug freq context at duration))

  (fapply
    (fn [graph1 graph2]
      (.connect (:output graph1) (:input graph2))
      (subgraph (:input graph1) (:output graph2)))
    upstream-synth
    downstream-synth))

