anchor.diff:               (setf remaining (fset:concat (alias-words alias) less-first))))))))
   
   (defun expansion-for-words (things &key expand-aliases expand-pathname (split-fields t))
  -  "Perform expansion on a sequence of tokens."
  +  "Perform expansion on a sequence of tokens.
  +
  +This always performs the expansion done by the `expand' generic
  +function.  Alias expansion and pathname (glob-style) expansion are
  +optional and enabled by keyword arguments.
  +
  +The value of the `split-fields' keyword argument is bound to the
  +`*split-fields*' special variable.  See that variable's documentation
  +to understand how it impacts expansion."
     (setf things (fset:convert 'fset:seq things))
     (when (equal 0 (fset:size things))
       (return-from expansion-for-words (fset:empty-seq)))
  
positive.code:              ,@body))))))
  
  (defun %expand-wild-path (directories index file-name)
    (let (next as-directory-p)
      (cond
        ((>= index (length directories))
  
negative.code:      (remove-if #'blank ifs))))
  
  (defun split (string)
    "Split a string into multiple fields based on its content and the
  current value of $ifs.
  
  This function returns a `fset:seq' of string fragments."
    (multiple-value-bind (whitespace non-whitespace) (ifs-parts $ifs)
      (when (and (zerop (length whitespace)) (zerop non-whitespace))
        (return-from split string))
  
      (let* ((result (fset:empty-seq))
             (index 0)
             current-word)
        (labels
  