   `(first ~actx))
 
 (defmacro actx-agw [actx]
-  `((:get-agw (actx-top ~actx))))
+  `((:get-agw (actx-top ~actx)))) ; The 'agw' means 'ago world'.
 
 (defmacro actx-event [actx event]
   `(cljs.core.async/>! (:event-ch (actx-top ~actx)) [~actx ~event]))
 
-(defmacro act [child-actx-binding-name actx & body]
+(defmacro act [child-actx-binding-name actx & body] ; Use 'act' instead of 'go'.
   `(let [act-ch# (achan-buf ~actx 1)
          act-id# ((:gen-id (actx-top ~actx)))
          ~child-actx-binding-name (conj ~actx

     act-ch#))

(defmacro act-loop [child-actx-binding-name actx bindings & body]
  (let [m (->> bindings
               (partition 2)
               (map first)

;; These "act" wrappers around ago provide parent-child tracking and
;; event hooks.  Useful for building things like visualizations and
;; simulations.  (ago ehances core.async with snapshots/rollback.)

(ns cbfg.act
  (:require [cljs.core.async.macros :refer [go]]
