`let` should check the validity of variable names using the same mechanism that variable expansion does
Created by: skylerberg
Right now you can define variables that you can never reference because they are not valid according to the variable expansion logic.