   ["<line class='" class "' x1='" x1 "' y1='" y1 "' x2='" x2 "' y2='" y2
    "' stroke='" stroke "' stroke-width='1' marker-end='url(#triangle)'/>"])
 
-(defn vis-svg-actxs [vis positions deltas phase]
+(defn vis-svg-actxs [vis positions deltas after]
   (let [stroke-width 1
         line-height 21
         chs (:chs vis)

                               (dissoc-in [:chs ch :msgs msg])))
               (when (nil? msg) ; The ch is closed.
                 (swap! vis #(dissoc-in % [:chs ch])))
               [{:delta :take :msg msg :ch ch :actx actx :phase :prev :ch-name ch-name}]))}
   :aput
   {:before (fn [vis actx args]
              (let [[ch-name ch msg] args]

                                (assoc-in [:actxs actx :wait-chs ch] [:put ch-name])
                                (vis-add-ch ch nil)
                                (assoc-in [:chs ch :msgs msg] true)))
                [{:delta :put :msg msg :actx actx :ch ch :ch-name ch-name}]))
    :after (fn [vis actx args]
             (let [[ch-name ch msg result] args]
               (swap! vis #(-> %
