Major Section: PROGRAMMING

`Mv?`

is designed to work with `mv?-let`

, generalizing how `mv`

works
with `mv-let`

by allowing the binding of a single variable. For example,
the following form is legal.

(mv?-let (y) (mv? (f x)) (declare (type integer y)) (g x y z))The expression above is equivalent to the following expression, because

`(mv? form)`

expands to `form`

for any expression, `form`

.
(let ((y (f x))) (declare (type integer y)) (g x y z))

Logically, `(mv? x)`

is the same as `x`

, while `(mv? v1 v2 ...)`

is the
same as `(list v1 v2 ...)`

. Also see mv and see mv?-let.