 (defn parse-jnz-value
   [cmd]
   (if-let [[_ x y] (re-find (re-matcher #"^jnz (-?\d+) (-?\d+)$" cmd))]
-    {:cmd :jnx-value :x x :y y}))
+    {:cmd :jnz-value :x (parse-int x) :y (parse-int y)}))
 
 ;; do we know the 2nd arg is always a number? Yes, at least in my sample
 (defn parse-jnz-x-reg
   [cmd]
   (if-let [[_ x y] (re-find (re-matcher #"^jnz ([a-z]+) (-?\d+)$" cmd))]
-    {:cmd :jnx-x-reg :x x :y y}))
+    {:cmd :jnz-x-reg :x x :y (parse-int y)}))
 
 
 (defn parse-cmd


;; Initially, only "a" to "d"
(s/def ::regs (s/map-of string? integer?))

(s/def ::computer (s/keys :req-un [::regs]))

(s/fdef init-computer
        :args (s/cat)

   [clojure.core.match :refer [match]]
   [clojure.math.combinatorics :as combo]
   [clojure.string :as str]
   [com.rpl.specter :as sp]

   spyscope.core
   mw.utils
