Referencing my snippet from your earlier post.
You could think of:
switch (${STEP-${IDX}-TYPE})
kind of like
typedef struct
{
// ints
int active;
int type;
// strings
char data[256];
char prompt[256];
} STEP;
static STEP step[100];
switch (step[idx].type)
But Asterisk really sees it as:
switch (${STEP-42-TYPE})