I find no problem with the series. Maybe I would add a test for const arguments, but that doesn't stop working because of the changes:
```hlsl float4 main(const float a : SEM) : sv_target { return a + 1; } ```
By the way, this a little silly, but it seems that while native compiler doesn't allow to assign to a const lhs with `=`, it surprisingly does allow assignments with operators such as `+=`. The value is not updated in this case though:
```hlsl float4 main() : sv_target { const float4 f = {1, 2, 3, 4};
f += 3; return f; } ``` ``` ps_4_0 dcl_output o0.xyzw mov o0.xyzw, l(1.000000,2.000000,3.000000,4.000000) ret ```