Sometimes, the root expression isn’t as simple as var. For example, would you want to repeat &world[x_bin][y_bin][z_bin][index] all over the place, or would you prefer storing that in a variable for later use instead?
More fundamentally, a reference &T is a generic type very similar to MyStruct<T> and can be used in all the same ways: variables, function arguments, return values, vector elements, etc. Preventing a reference from being stored in a variable would be a needless restriction.