Pros for strides in type:
- the stride is logically part of the behavior
- Views with different strides may be incompatible in some context
- Other ways of storing constant arrays in kernels may be problematic
Cons:
- Views with different strides are mostly interchangeable as function arguments
- Closures are derived from the (formal) lambda lambda parameters (including strides), not the actual expressions they are applied to, so we can't provide "library" that are general in strides.