         (println (:distance screen)) ; the end distance between fingers
         entities))"
   [n & options]
-  ; make sure the options are valid
-  (let [s (format "Unexpected value in (defscreen %s). Make sure you give it
+  (let [s (format "Unexpected value in (defscreen %s). You need to give it
 keywords and functions in pairs."
                   (str n))]
     (assert (even? (count options)) s)
     (assert (= 0 (count (remove keyword? (keys (apply hash-map options))))) s))
-  ; return form calling defscreen*
   `(let [fn-syms# (->> (for [[k# v#] ~(apply hash-map options)]
                          [k# (intern *ns* (symbol (str '~n "-" (name k#))) v#)])
                        flatten

    (run! my-other-screen :on-show)
    (run! my-other-screen :on-change-color :color :blue)"
  [screen-object fn-name & options]
  (let [execute-fn! (-> screen-object :screen deref :execute-fn!)
        screen-fn (-> screen-object :options (get fn-name))]
    (apply execute-fn! screen-fn options)


    (set-screen! my-game main-screen text-screen)"
  [^Game game-object & screen-objects]
  (assert (isa? (type game-object) Game) "The first argument in set-screen!
must be the defgame object.")
  (let [run-fn! (fn [k & args]
                  (doseq [screen screen-objects]
                    (apply (get screen k) args)))]
