Hello,
Personally I find it more natural, and simpler, to think of each result printed by the REPL being added to the REPL history in the order printed. That's why # always refers to the last result printed, which will be the last value if multiple values were the result of the interaction. For example:
(values 111 222)
111 222
##
111
Oh, I hadn't thought of, nor tried, ## in that case. I would have preferred a behaviour à la CL (at least sbcl), where the first of multiple values is the one cached, but when there are 3 or less values returned (most of the time, as far as my use is concerned), being able to access each of them independently is quite nice indeed.
Thanks for the explanation.
P!