Is it a good idea to Static-Switches in material functions?

Hi, I love to keep similar functionalities in one function and control them using static switches. Because they don’t affect runtime performance but affect the compilation time.

Example # 1: If I create an intensity function, then I will add both “Color Intensity” and “Normal Intensity” logic in one function and then add a switch to enable “Color” or “Normal” intensity.
Example # 2: If I create UVs function, then I will use switches for offset, rotation, and scale. It can add up a lot of switches in a material and I want to clear that I am not talking about the parameters just switches with default values or constant static bool to control the flow.

Recently, I read that every static switch creates 2 variations of material in the background. If I have 4 switches in material, then it will create around 32 variations. I want to know if it’s only true for “Static Switch Parameter” and “Static Bool Parmater” or is it the same for constant static switch and constant static bool?I also want to know if it’s ok to use that many static switches in material function.If there is a better way, then please let me know.