Use numeric_limits to get NaN and inf
Rationalize the use of Index type in iterators