I want to maintain a single copy of vector in whole class. I have to update vector many times in recursion.

```
 ;this is to update cell in vector
(defn to-plus [data x y]
 (update data y (fn [row] (apply str (assoc (vec row) x \+)))))

;here i am getting values in board and calling to-plus to update board
;now i need to maintain a single copy of board
(let [board (read-in-board "map.txt")]
(print-maze board)
(println(str (get-in board [1 4])))
(print-maze (to-plus board 1 4))
(println(to-plus board 1 4))) 

```

I am trying to solve maze problem using recursion and random walk. I am new to Clojure.

```
;Data is of type 
---#--###----
-#---#----##-
####-#-#-#-##
---#---#-#---
-+-####---##-
-#------#----
-############
------------@

```