SymbolとString (5)

Symbolには、文字列の内容が同値であれば同一オブジェクトという性質があり、これは今の実装でも維持されている。しかし今でも意味があるだろうか?
対象をSymbolクラスだけではなくStringクラスまで拡げて考えると、現在の仕様では、"a" == :a である。同値であると看做されているのに同一オブジェクトではない。つまり、Symbolの性質が維持されていると言いたいために、対象の範囲を制限する目的でSymbolクラスが存在している。本末転倒のように思える。