Then there could be another extension to handle arrays of specified lengths. Something like this, perhaps:
array(int)(..1) -> Zero or one int but no more. array(string,int)(1..2) -> One or two (string,int) tuples, i.e. either two or four elements in total. array(int)(3) -> Perhaps a shortcut for array(int)(3..3).
And perhaps array(string,int)(*) for any number of string,int tuples?