        (doto to (put! v) (close!)))))
   to)
 
-(defn resolve [channel context resolvers query-or-ast]
+(defn resolve [channel context query-or-ast]
   (let [ast (if (vector? query-or-ast)
               (om/query->ast query-or-ast)
               query-or-ast)
+        resolvers (:resolvers context)
         children (:children ast)]
     (async/pipe
      (async/merge

                                     (fn [params]
                                       (p/do*
                                        (swap! api-calls conj [:do-something params])
                                        "Did something."))}}
                             resolvers '[(do/something {:very "important"})
                                         {(:root/user {:user/name "nipponfarm"})
                                          [:user/name
                                           :user/favorite-color
                                           :user/favorite-number
                                           {:user/vehicle [:vehicle/make
                                                           (:the-model {:< :vehicle/model})]}
                                           {:user/pets [:pet/name]}
                                           {:user/favorite-fellow-user [:user/name
                                                                        :user/favorite-color
                                                                        :user/favorite-number]}]}
                                         {(:jamie {:< :root/user :user/name "jburnford"})
                                          [:user/name
                                           :user/favorite-color]}])]
      (take!
       (async/into #{} data-chan)
       (fn [v]

              user (p/await (get-user {:name (:user/name context)}))]
       (resolve (chan)
                (assoc context :user/name (:favorite-fellow-user-name user))
                ast)))})

(deftest new-thing-works
