let, var の宣言の方で調整させるためのキーワードだよ
C++でのconstメンバ関数やmutable修飾子と概ね同じ目的
なのでコンパイラでやれたとしても、override同様に表明することに意味がある

property-set(メンバ直含む), subscript-set, mutable関数
この3つはvar変数でしか使えない
前2つはシンタックスから判別出来るけど関数は表明が無いと使う側が判別出来ない