Would it ever make sense to re-initialise cell orientations with a different expression? If so, should we remember the `expr` used to build the current cell orientations and simply return if it's the same and re-initialise if different?