It's hard to make this prettier:

``start + mul(step, arr.dim_names[0])``
``add(mul(step, arr.dim_names[0]), start)``