Like I already said, this is not possible without a cast.

```haxe
for (sprite in _sprites)
{
	if ((sprite != null) && sprite.exists)
	{
		Function(sprite, Value);
	}
}
```

This code section in `transformChildren()` causes the following compiler errors:

`flixel.FlxSprite should be flixel.group.FlxTypedSpriteGroup.T`

With `Function(cast sprite, Value)` it works. Now, the generated cpp code for that verison looks like this:

```cpp
Void FlxSpriteGroup_obj::transformChildren_flash_display_BlendMode( Dynamic Function,::flash::display::BlendMode Value){
{
		HX_STACK_FRAME("flixel.group.FlxSpriteGroup","transformChildren_flash_display_BlendMode",0x635ddf2f,"flixel.group.FlxSpriteGroup.transformChildren_flash_display_BlendMode","flixel/group/FlxSpriteGroup.hx",564,0xeb1fa7f3)
		HX_STACK_THIS(this)
		HX_STACK_ARG(Function,"Function")
		HX_STACK_ARG(Value,"Value")
		HX_STACK_LINE(565)
		if (((this->group == null()))){
			HX_STACK_LINE(567)
			return null();
		}
		HX_STACK_LINE(570)
		::flixel::FlxSprite sprite;		HX_STACK_VAR(sprite,"sprite");
		HX_STACK_LINE(572)
		{
			HX_STACK_LINE(572)
			int _g1 = (int)0;		HX_STACK_VAR(_g1,"_g1");
			HX_STACK_LINE(572)
			int _g = this->group->length;		HX_STACK_VAR(_g,"_g");
			HX_STACK_LINE(572)
			while(((_g1 < _g))){
				HX_STACK_LINE(572)
				int i = (_g1)++;		HX_STACK_VAR(i,"i");
				HX_STACK_LINE(574)
				sprite = this->group->get_members()->__GetItem(i);
				HX_STACK_LINE(576)
				if (((bool((sprite != null())) && bool(sprite->exists)))){
					HX_STACK_LINE(578)
					Function(sprite,Value).Cast< Void >();
				}
			}
		}
	}
return null();
}
```