    (equal
     (whatif--simplify 't nil)
     (list 'value t))))
+
+(ert-deftest simplify--number ()
+  (should
+   (equal
+    (whatif--simplify 123 nil)
+    (list 'value 123))))
+
+(ert-deftest simplify--keyword ()
+  (should
+   (equal
+    (whatif--simplify :foo nil)
+    (list 'value :foo))))
+
+(ert-deftest simplify--string ()
+  (should
+   (equal
+    (whatif--simplify "foo" nil)
+    (list 'value "foo"))))
 
 (ert-deftest simplify--symbol ()
   (should

        (if value (whatif--simplify then bindings)
          (whatif--simplify else bindings)))
       (`(unknown ,_) (list 'unknown form))))
    (_ (list 'unknown form))))

(whatif--simplify '(if 1 2 3) nil)

   (equal
    (whatif--simplify '(if x y z) '((x . 42)))
    (list 'unknown 'y))))

(ert-deftest simplify--progn ()
  (should
   (equal
    (whatif--simplify '(progn 1) nil)
    (list 'value 1)))
  (should
   (equal
    (whatif--simplify '(progn nil y) nil)
    (list 'unknown 'y)))
  (should
   (equal
    (whatif--simplify '(progn x nil y) nil)
    (list 'unknown '(progn x y)))))
