> - i is a mutable, but should be constant
It's not really mutable, because it isn't a variable. However, if there is a variable by that name, Matlab will use it instead of the complex constant.
> - It a feature that has a special syntax (sort of).
The problem is rather a lack of special syntax (or too much leniency). Python also has built-in complex numbers:
>>> 1 + 1j
(1+1j)
but it doesn't allow you to omit the constant before the j:
>>> 1 + j
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'j' is not defined
You can do it the same way in Matlab to avoid this problem (1 + 1i is always OK since implicit multiplication is not allowed), so the problem is that Matlab lets you use i syntactically like a variable when it in fact isn't.