>689
この場合はbecome:を使うまでもなく、センダ側で、

arrayOfPattern := Array with: aString with; n1 with: n2 with: d1

みたいにして引数の配列を作っておいて、

patternNND: arrayOfPattern

で呼べばいいのでは。受け取った側では、

arrayOfPattern at: 2 put: (m subexpression: 2).

みたいにして書き換えます。名前付がいいなら配列じゃなくて辞書にする
とか、パタン自体がオブジェクトになる可能性も検討すべきかと(本当に
必要かどうかは設計の問題)。

become:は強力すぎるので、その使用は最低限にすべきでしょう。