> x = foo > y = bar > let (x = $y; y = $x) echo $x $y >should print > bar foo >not > bar bar In other words, make `let' truly be let, and not let*? Yes, I think this is a good idea. You can get the same effect as let* by doing some of the assignments inside the body of the let, or by nested lets. Getting the flavor of `let' with let*'s behavior is more difficult. :-)