> It actually does, but it has no side effect. I know that printing is a side effect. Why do you recommend to use 'alist-cons'? If it's not possible to display anything, then 'roll-back' won't be able to print the following messages. (simple-format #t "guix-package: switching from generation ~a to ~a~%" current-profile-number previous-profile-number) (leave (_ (string-append "guix-package: previous profile doesn't exist; " "not rolling back~%"))) Actually, if the above is correct, then it won't be possible to use 'roll-back' at all. (Because it creates symlinks.) I think that I misunderstood you. Please elaborate. > When ‘--profile’ is passed, the result of ‘parse-options’ contains a > pair whose key is ‘profile’. The (assoc-ref opts 'profile) calls that > you see retrieve the argument given to ‘--profile’. It's clear. But where should I call (assoc-ref opts 'profile)? Should I do it in 'process-query'? Nikita