[AS3] Looping array is string instead of number?

Below is a sample code. I could not figure out why i is string and not Number/int.


//The code below does not work
var numArray:Array =  [1,2,3,4];

for(var i:int in numArray){
	trace(i);
	trace(numArray*);
}


//The code below works
var numArray:Array =  [1,2,3,4];

for(var i:String in numArray){
	trace(i);
	trace(numArray*);
}