About 'let'...

Can ‘let’ set a temporary variable to the value of an existing variable?? Or does it have to be a specific value??

Yes, it can.

X is a number that varies.
When play begins:
    let Y be X;
    now X is X plus two;
    say "X=[X], Y=[Y]."

Prints “X=2, Y=0.” (The initial value of X is 0 by default.)

For some reason, I’ve had trouble with using ‘let…’ I can’t recall any specific examples, but in what cases can it NOT be used??

Thanks

It can only be used within a rule (and the temporary variable will only exist for that rule). Beyond that, I can’t think of many pitfalls.