I don't like this either, but we need to do the merge because we're setting a [default value for path](https://github.com/clojure-rica/maize/blob/c3a3d34f6f137bb15f8a8a74e925a4f0081d5283/src-cljs/maze/core.cljs#L43) that won't be in `maze` on the first iteration.

We can remove this merge if we add `path` to both `generate-maze` and `solve-maze`. Which do you prefer? I'm not a fan of the duplication, but see that the merge can be confusing.

```clojure
(defn generate-maze [maze]
  (search-maze (merge maze {:path [[0 0]]
                            :walls (outer-walls maze)
                            :finished-fn all-locations-visited?})))

(defn solve-maze [maze]
  (search-maze (merge maze {:path [[0 0]]
                            :finished-fn solved?})))

```