Well, while I do agree in the fact that you can use any type you want, I also think that some Pokémon just don't go well together (If that was what you meant. Like: Fire and water. Don't go well together.)
On another note: If you have a class, it boosts certain Pokémon, wouldn't these Pokémon become mandatory for your team as they are best suited for your class/team etc?
it wouldn't be mandatory, some of my classes also hold benefits for the party as well, think of classes as specializations, they don't make you overpowered, however they allow you to have huge control over a specific type. Since there are a total of 17 types, this still gives challenge to fighting and are specific enough that it doesnt kill the game
it's relatable to having a superpower, having all of them would make you a god, but having one just like everyone else makes you just about equal