// TODO: tuple, this is a hack right now just to avoid the rule being applied to tuples, but could we safely modify the rule to
"in an index expression, there should be the same number of indices as the subject has index domains"
"in a slice expression, there should be the same number of indices as the subject has index domains"
// TODO(perf): This pattern of "take something with a ground domain G and re-wrap it in Moo(Domain::Ground(G))" is fairly common...