diff --git a/build.xcvb b/build.xcvb
index 741485d3bb1cef903f550396ce870b5d1a721d91..eb8fa2fbf72c1b7245913c3579404ec6ba184375 100644
--- a/build.xcvb
+++ b/build.xcvb
@@ -10,7 +10,9 @@ XCVB provides a scalable system to build large software in Lisp, featuring
 deterministic separate compilation and enforced locally-declared dependencies."
   :build-depends-on
   ("/asdf" "/xcvb/driver"
-   "/fare-utils" "/fare-matcher" "/fare-mop" "/fare-quasiquote-readtable"
+   "/alexandria"
+   "/fare-utils" "/fare-mop"
+   "/fare-matcher" ;; includes "/fare-quasiquote-readtable" 
    "/cl-ppcre" "/lambda-reader")
   :depends-on
   ("pkgdcl" "process-spec" "utilities" "macros" "host" "run")
diff --git a/process-spec.lisp b/process-spec.lisp
index 2eaf2b72c83363a052edffcbe8c54bf90e975334..c15e6aaddc5a267e8243d200c9eda2ad476db683 100644
--- a/process-spec.lisp
+++ b/process-spec.lisp
@@ -201,7 +201,7 @@
       (*
        (error "Invalid process spec ~S" spec)))))
 
-(deftype simple-command-line-token () '(or string pathname keyword symbol character))
+(deftype simple-command-line-token () '(or string pathname keyword symbol character integer))
 
 (defun token-string (x)
   (with-safe-io-syntax ()
@@ -298,8 +298,6 @@
 	    (e (token-string x)))))
        (c (x)
          (match x
-           (`(,(of-type string) ,@*) ;; recurse
-             (map () #'p x))
            (`(+ ,@args) ;; recurse (explicit call)
              (map () #'p args))
            (`(* ,@args) ;; splice
@@ -308,6 +306,8 @@
            (`(quote ,@args) ;; quote
              (e (xcvb-driver:escape-command
                  (parse-command-spec-tokens args))))
+           (`(,(of-type simple-command-line-token) ,@*) ;; recurse
+             (map () #'p x))
            (*
             (error "Unrecognized command-spec token ~S" x)))))
     (p x)))
diff --git a/run-sbcl.lisp b/run-sbcl.lisp
index 9791ef4130f444f3796abded5e3a444a7fb08fc7..97fdd8f0ff67f8be275ca2f061ea3df74ef1f993 100644
--- a/run-sbcl.lisp
+++ b/run-sbcl.lisp
@@ -2,11 +2,6 @@
 
 (in-package :inferior-shell)
 
-(defmethod print-object ((result result) stream)
-  (print-unreadable-object (result stream :type t)
-    (with-slots (process predicate rest) result
-      (format stream "~A ~A ~A" process predicate rest))))
-
 (defmethod result-or ((r result))
   (not (zerop (sb-ext:process-exit-code (result-process r)))))