for the mutation, why is this hash modified directly? provide #[], #[]=.