many thx, tbrunz! i (and anybody who follows) much appreciate the thoughtful elucidation -- i did indeed assume that ifTrue: would return its argument as-is. Now that i go spellunking through source I see:
ifTrue: alternativeBlock "If the receiver is false (i.e., the condition is false), then the value is the false alternative, which is nil. Otherwise answer the result of evaluating the argument, alternativeBlock. Create an error notification if the receiver is nonBoolean. Execution does not actually reach here because the expression is compiled in-line." -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html