     (d/push-onto :integer :int)))
 
 
-(def char->integer
-  (core/build-instruction
-    char->integer
-    "`:char->integer` pops the top `:char` item, and converts it to an (integer) index"
-    :tags #{:base :conversion}
-    (d/consume-top-of :char :as :arg1)
-    (d/calculate [:arg1] #(long %1) :as :int)
-    (d/push-onto :integer :int)))
+
+(def integer->bits
+  (core/build-instruction
+    integer->bits
+    "`:integer->bits` pops the top `:integer` and pushes a vector of its 'bits' (as `true` and `false` in low-to-high order) to the `:booleans` stack. Negative numbers are made positive. The minimal binary representation is used, but always at least two bits are produced."
+    :tags #{:numeric :conversion}
+    (d/consume-top-of :integer :as :arg)
+    (d/calculate [:arg]
+      #(exotics/integer-to-truth-table (math/abs %1) 1) :as :bits)
+    (d/push-onto :booleans :bits)))
+
+
+
+(def integer->numerals
+  (core/build-instruction
+    integer->numerals
+    "`:integer->numerals` pops the top `:integer` and pushes a vector of its numerals (not including negative sign or bigint decorations) to `:chars` "
+    :tags #{:numeric :conversion}
+    (d/consume-top-of :integer :as :arg)
+    (d/calculate [:arg]
+      #(into [] (filter #{\0 \1 \2 \3 \4 \5 \6 \7 \8 \9} (seq (str %1)))) :as :numbers)
+    (d/push-onto :chars :numbers)))
+
 
 
 (def string->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
