multiple-value type assertion stupidity
(compile nil `(lambda (s) (the (unsigned-byte 8) (read-byte s))))
; (THE (UNSIGNED-BYTE 8) (READ-BYTE S))
; note: type assertion too complex to check:
; (VALUES (UNSIGNED-BYTE 8) &REST T).
This is silly.
While (THE X (FOO)) is too complex to check when the number of values returned by FOO is in doubt, here we know that READ-BYTE will only return a single value -- and hence we could simplify the assertion to (VALUES (UNSIGNED-BYTE 8) &OPTIONAL).