                      nil)
                    (when (not @paused?)
                      (case (key-name e)
-                       :down  (put! down-chan true)
                        :left  (try-move! -1 0)
                        :right (try-move!  1 0)
+                       :down  (put! move-down-chan true)
                        :space (hard-drop!)
                        :up    (try-rotate!)
                        nil))

  (size-canvas! "mainGameCanvas" empty-board cell-size rows-cutoff)
  (size-canvas! "nextPieceCanvas" (next-piece-board) cell-size)

  (try-spawn-piece!)
  (add-key-events)
  (go-go-draw!)

      (when (= c time-)
        (apply-gravity!)
        (recur)))))

;;------------------------------------------------------------
;; Input-driven STATE CHANGES
