Making SpriteList a Generic
As of now, we cannot manually typehint SpriteList, so it is always the type of SpriteList[Sprite]. Making it a generic would enable a dev to add a custom typehint to the same variable, something like SpriteList[MyCustomSprite], knowing the SpriteList is gonna contain only those sprite instances.
Do we want to go beyond just generics to make SpriteList implement the full MutableSequence ABC? I'm not sure what the performance implications of that are in current Python versions.
That seems like a good idea.
What other options do we have here? I haven't really looked into typying with lists.
This may have already been addressed in #1399 by @eruvanos: https://github.com/pythonarcade/arcade/blob/0e765e3d97d408667ed67bb158860b82f97101db/arcade/sprite_list/sprite_list.py#L53
Making SpriteList into a full MutableSequence is still worth considering but not urgent.
Done.