`((,(ecase (car c)
(integer 'integerp)
(cons 'consp)
+ (list 'listp)
+ (sequence 'sequencep)
(symbol 'symbolp)
(function 'functionp)
(float 'floatp)
(defun error (fmt &rest args)
(%throw (apply #'format nil fmt args)))
+
+(defmacro nth-value (n form)
+ `(multiple-value-call (lambda (&rest values)
+ (nth ,n values))
+ ,form))