[struct foo float x float y array a b]
would be easier to read with semis:
[struct foo;
float x;
float y;
array a b]
Quick-n-dirty way would be to ignore semis in the arg parser