When you do:

```var obj:T``` this ends up as a Dynamic object, even if ```T:FlxSprite```.

Which means if you're iterating through an array that is of type ```members:Array<T:FlxSprite>```, it's likely the object being iterated on will be ```Dynamic```, instead of ```FlxSprite```. This needs to be verified by looking at the CPP source.

By declaring the object being iterated on as ```FlxSprite``` we might be able to avoid using Dynamic objects, it would make the looping code a bit more verbose, but if it allows us to avoid Dynamics, and casting, it might be worth changing all the loops in this file to work this way.

```
var sprite:FlxSprite;
for (i in 0...length)
{
	sprite = group.members[i];
	(...)
```