Yes, we say that a type has "truthiness" if it can be used in a condition (`while`, `if`, `assert`, etc).
So if I may ask for one more small clarification... WRT "truthiness", I've observed that empty arrays are treated as false, non-empty as true. However, although I thought a string was basically an immutable array of characters, "" is treated as true, not false?
Thanks again, Andy