小手先で誤魔化しとるのはmutable型とimmutable型で分かれてたり、プロパティでcopy属性つけたりせんとあかんObjCの方やで
Swift先生が値型セマンティクスのあるべき姿に正してくれたんやで