                (-> (pop-item :code state)
                    (pop-item :boolean state)
                    (pop-item :integer state)
-                   (assoc-in [:gtm :tapes 0 pos]
+                   (assoc-in [:gtm :tracks 0 pos]
                              (-> write-instr-map
                                  (assoc :instruction new-instr)
                                  (assoc :silent new-silent)

  (:use [clojush pushstate globals random util])
  (:require [clojure.math.numeric-tower :as math]))

;; Only read/write to one tape.

;; Single head position.

;; Secondary tape accessed only via gene/component swaps at current location.

;; Read/write by component or all components together.


  (fn [state]
    (if (:gtm state)
      (let [pos (:position (:gtm state))
            instr-map (get-in state [:gtm :tracks 0 pos])]
        (if instr-map
          (trace 'gtm_read_close
                 (push-item (:close instr-map) :integer state))
