Great explanation of a difficult concept to grasp. The overall theme of confusion between macro pre-processing and run time execution also exists with consumers of the Data Step, so this entry is useful for SAS users outside of PROC IML as well.

Thanks!