it's a c++ "detail" because I'm lazy and this way it works all the time regardless if you have an rvalue or lvalue and you don't have to think about it.
(in case the iterator's operator* for the type returns a proxy type by value like if the array was of vector type)
in the case here, it's a simple array just one & or not & at all would be enough (because we have a very simple type in the array)