                             (assoc streams (:send-ch stream2) stream2)
                             results)))
                  (if-let [stream (first (filter #(= (:close-recv-ch %) ch) (vals streams)))]
-                   (if v
+                   (if v ; Or, test if it's a closed close-recv-ch.
                      (recur (inc ts) listens streams results)
-                     (do (aclose net (:recv-ch stream)) ; Handle a closed close-recv-ch.
+                     (do (aclose net (:recv-ch stream))
                          (recur (inc ts)
                                 listens
                                 (assoc streams (:send-ch stream)

                                results)))
                   (if-let [[addr-port [close-accept-ch accept-ch]]
                            (first (filter #(= ch (first (second %))) (seq listens)))]
                     (if v
                       (recur (inc ts) listens streams results)
                       (do (aclose net accept-ch) ; Handle a closed close-accept-ch.
                           (recur (inc ts)
                                  (dissoc listens addr-port)
                                  streams
                                  results)))
                     (if (seq (filter #(= ch (first %)) results))
                       (do (aclose net ch) ; Handle a completed result-ch aput.
                           (recur (inc ts) listens streams
                                  (remove #(= (first %) ch) results)))
                       (println "UNKNOWN ch"
                                listens :streams streams :results results)))))))))

                   (do (aclose net result-ch)
                       (recur (inc ts) listens streams results)))
                 (net-clean-up net listens streams results))
               (some #(= ch %) send-chs) ; Peer aput to a send-ch.
               (let [send-ch ch
                     stream (get streams send-ch)]
                 (if-let [[msg result-ch] v]
