 
 (defn conj-trap-in-current-place
   [state trap]
-  (rw/update-current-place state (fn [place] (update place :traps (fn [traps] (conj traps trap))))))
+  (rw/update-current-place state (fn [place] (update place :traps (fn [traps] (vec (conj traps trap)))))))
 
 (defn room-bound-xys
   [min-x min-y max-x max-y]

  [state x y cell]
  ;; determine trap advancement mechanics
  (log/info "x" x "y" y "cell" cell)
  (let [{{min-x :min-x
          min-y :min-y
          max-x :max-x

      state)))

(defn update-crushing-wall-trap
  [state idx]
  (let [place-id (rw/current-place-id state)]
    (update-in state
               [:world :places place-id :traps idx :locations]
               (comp rest vec))))

(defn update-trap
  [state [idx trap]]
  (log/info "updating trap" [idx trap])
  (case (get trap :type)
    :crushing-wall
      (update-crushing-wall-trap state idx)
    state))

(defn current-place-traps
