それよりもより一層複雑になっている。マクロ展開の仕様がいくつかの重要な点で曖昧であったからである。束縛形式であるとは規定していない。マクロの定義がその使用に先立たなければならないのかどうかも不明確であった。使用可能な束縛の集合によりマクロ展開中の照合処理が影響を受けるという事実もさらに事態を複雑にしていた。明示したアルゴリズムは、これらの事柄に対処するもっとも単純な展開戦略のひとつである。このアルゴリズムには、ソースコードの各サブフォームを一度しか走査しないという利点もある。展開処理の方法を明確に述べたことにより、再帰的な場合、即ち、あるマクロの使用が、その後のそのマクロを使用している部分の展開に影響を与えるような定義に展開され、それによりプログラムに混乱を招くことがある、というような規定は避けられるようになった。処理系はそのような場合を検知し、構文違反を検知すべきことになったのである。