Next, let's rewrite the `dunk` command as well:
      (game-action dunk bucket well garden
        (cond (chain-welded (setq bucket-filled 't)
                            '(the bucket is now full of water))
              (t '(the water level is too low to reach -))))
Notice how the `weld` command had to check whether we have the subject, but that the `dunk` command skips that step. Our new `game-action` SPEL makes the code easy to write and understand.
<< begin < previous - next > end >>