anchor.diff:          (push (list item val) roswell::*ros-opts*))))
   
   (defun uname ()
  +  "Returns uname. Example: linux , darwin"
     (roswell:roswell '("roswell-internal-use" "uname") :string t))
   
   (defun uname-m ()
  +  "Returns the machine type as a string. Example: x86-64"
     (roswell:roswell '("roswell-internal-use" "uname" "-m") :string t))
   
   (defun homedir ()
  +  "Returns the user-level installation directory of roswell. Example: /home/user/.roswell"
     (opt "homedir"))
   
   (defun impl (imp)
  +  "Returns a full name/version of an implementation. Default: current system.
  +Example:
  +  (impl) -> sbcl/1.3.2 (current system)
  +  (impl \"ccl\") -> ccl/system (currently installed system) "
     (roswell:roswell `("roswell-internal-use" "impl" ,(or imp "")) :string t))
   
   (defun which (cmd)
  +  "equivalent to \"which\" command on shell"
     (let ((result (roswell:roswell `("roswell-internal-use" "which" ,cmd) :string t)))
       (unless (zerop (length result))
         result)))
  
positive.code:      finally (return (coerce r 'string))))
  
  (defun download (uri file &key proxy (verbose nil) (output :interactive))
    (declare (ignorable proxy))
    (ensure-directories-exist file)
    (roswell:roswell `("roswell-internal-use" "download" ,(backslash-encode uri)
  
negative.code:                    output nil))
  
  (defun expand (archive dest &key verbose)
    "Interface to the roswell C binary"
    #+win32
    (progn
      (roswell:include "install+7zip")
  