As we discussed, this is fine as a fully general fallback case, but we should put in a `#FIXME TODO` comment here documenting other approaches that will have better performance for block and cyclic.  Perhaps something along these lines:

        # FIXME: TODO: major performance improvements possible here.
        # For block and cyclic, can generate slices of `arr` and assign to
        # local arrays.