     (d/push-onto :integer :scaled)))
 
 
+
 (def integer-subtract (t/simple-2-in-1-out-instruction
   "`:integer-subtract` pops the top two `:integer` items, and pushes their difference, subtracting the top from the second" :integer "subtract" '-'))
 
 
-;; conversion
+
+(def integer-totalistic3
+  (core/build-instruction
+    integer-totalistic3
+    "`:integer-totalistic3` pops the top `:integer`. Each digit is replaced by the sum of its current value and the two neighbors to the right, modulo 10, wrapping cyclically around the number. If it is negative, the result returned is still negative."
+    :tags #{:numeric :conversion}
+    (d/consume-top-of :integer :as :arg)
+    (d/calculate [:arg] #(exotics/rewrite-digits %1 3) :as :result)
+    (d/push-onto :integer :result)))
+
+
+
+;; CONVERSIONS
 
 
 (def boolean->integer

    (d/push-onto :integer :scaled)))


(def integer-many
  (core/build-instruction
    integer-many

    (d/consume-top-of :integer :as :arg)
    (d/calculate [:arg] #(mod %1 1000) :as :scaled)
    (d/push-onto :integer :scaled)))



(def integer-mod
