Using builtin macros cause argument field wildcards in procedures to become undefined if they are named ?a:
#procedure foo(?a)
#message `toupper_(abc)'
#message `?a'
#endprocedure
#call foo(1,2,3)
.end
~~~ABC
foo Line 3 ==> Undefined preprocessor variable ?a
Workaround: Use ?b etc. instead when defining procedures.