There's a reason for the with / let distinction: parenthesized arguments to let get destructured.
arc> (let (de struct uring) '(a b c) (prs de struct uring) (prn)) a b c nil
(Thanks for the rant about Scheme, by the way. It was informative and entertaining. I just don't have any useful input on it.)