This would give better performance:
~~~{.clojure}
(for [v (valid-values-for board coord)
      solution (solve (set-value-at board coord v))]
  solution)
~~~