In a let form (Clojure here) I can doing something like
let
(let [[u s v] (svd A)] (do-something-with u v))
where svd
svd
def is basically the constructor for Vars. The first argument is the symbol that names the Var. It takes that symbol and returns a Var for that symbol. Destructuring would change these semantics.
def
You could write a macro that does it, though.