           (cb novelty query))))
      id)))
 
+;; The parser used by the resolvers when they return deeply nested data.
+(def parser
+  (om-next/parser {:read (bodhi/read-fn
+                          (-> bodhi/basic-read
+                              aliasing/read))}))
+
 (def resolvers
   {:circleci/organization
    (fn [env ast]

      (js/setTimeout #(send* [:remote (rest query)] cb)
                     ms-until-retried-run-retrieved))
    (doseq [expr query]
      (if (branch-crumb-ast? (om-parser/expr->ast (first (de-alias-expression expr cb))))
        (let [ch (resolve {:resolvers resolvers} [expr] (chan))]
          (go-loop []
            (when-let [novelty (<! ch)]

        (let [[expr cb] (de-alias-expression expr cb)
              ast (om-parser/expr->ast expr)]
          (cond
            (= {:app/current-user [{:user/organizations [:organization/name :organization/vcs-type :organization/avatar-url]}]}
               expr)
            (let [ch (callback-api-chan
