improvements to special struct mutation