Support string key in `Struct#[]=`.
Add invalid key type check in `Struct#[]=`.
Merge pull request #2330 from take-cheeze/struct_set_str

Improve `Struct#[]=`.