Another alternative is ElasticArrays.jl. The example in the README is similar to what you describe in your post.