Opt-in to using the extension to support gl_InstanceIndex.
Previously, we would generate parentheses proactively when generating binary ops, however, this leads to uglier code and hits warnings in compilers when used as a conditional.
We can infer shader types from file extensions.