Macro: DEFINE_ARRAY_ARGUMENT
#SET Q$ 0
ARRAY_DIM_COUNT_HELPER !2 !3 !4 !5 !6 !7 !8 !9 // sets !q to num of dims
#PUSH !g
#DTYPE G$ !1
#IF (!g=-1) // undefined type error
#ERROR DFERR_COMP_INVALID_DATATYPE (!1)
#ELSE
#IF (!g=19)
#PUSH !h
#STRG H$ !1
#SPUSH
#DTSYM !1 // moves datatype Letter ID into !$
ARRAY_ARGUMENT_REPLACE_HELPER !2 !3 !4 !5 !6 !7 !8 !9
#SPOP
#POP H$
#ELSE
#SPUSH
#DTSYM !1 // moves datatype Letter ID into !$
ARRAY_ARGUMENT_REPLACE_HELPER !2 !3 !4 !5 !6 !7 !8 !9
#SPOP
#ENDIF
#ENDIF
#POP G$