The goal is to avoid `if` statements. It is true that a good system will let you deal with many dimensions and data types, but you might be thinking, "I only want this for (x,y,z) floating point data", but there are a few algorithms that require slicing the data into different views and this precisely where things like iterators that are eventually vectorized make the scheme computational tenable.