Right now the maximum components you can use is 5 in queries and systems, due to generics usage. This limit is pretty low and easy to hit. It should be at least 10. I think Bevy has a limit of 16 due to similar usage of generics.
I didn't see anything in the documentation about a way to get around the limit by adding them dynamically at runtime, which would also be helpful. Alternatively, some way to nest types inside queries would also be a usable workaround.