This doesn't seem like a necessary invariant. Why should you be required to have a non-empty set of regions?