             (<! (wire peer [in (async/pub out :type)]))
             (assoc stage :chans [(async/pub in :type) out])))))
 
+
 ;; push perspective
 (defn sync! [{:keys [type author chans new-values meta] :as stage}]
   (go (let [[p out] chans

               :refer [<! >! timeout chan alt! go put! filter< map< go-loop]]))

;; TODO
;; adjust wire
;; ack connected
;; sente

(declare wire)

                                       "Testing."
                                       false
                                       {:some 42})
            stage (<! (wire-stage peer-b stage))
            [in out]  (:chans stage)
            connedch (chan)
            _ (async/sub in :connected connedch)
            _ (go-loop [conned (<! connedch)]
                       (println "CONNECTED-TO:" conned)
                       (recur (<! connedch)))
;           _ (>! out {:type :meta-sub
;                      :metas {"me@mail.com" #{(:id (:meta stage))}}})
;           _ (<! (timeout 1000))
            _ (>! out {:type :connect
                       :ip4 "127.0.0.1"
                       :port 9090})
            _ (<! (timeout 1000))
;            new-stage (<! (sync! stage))
            ]
        #_(-> new-stage
            (s/transact {:helo :world} '(fn more [old params] old))
            repo/commit
            sync!
