Sigh. A let may certainly be used in ordinary blocks. See http://dev.perl.org/perl6/synopsis/S04.html for the definition of successful exit. The KEEP and UNDO blocks use the same definition, and are arguably part of the same underlying mechanism. You can view a let as a temp that merely does UNDO instead of LEAVE.