Page composition follows a single rule:
A section can consist of one or more widgets, or of a text-content block; but a section cannot contain more than one text-content block, and a section cannot have widgets and text content sitting side by side.
Three primitives:
Why such strict rules?
First: it brings maximum clarity about what developers can expect from designers — and what designers can expect from developers. The rule is defined once and applies everywhere.
Second: the rules aren't actually that strict. One section can hold any number of widgets. Another can hold rich freeform text. Nesting and composition happen at the section level upward, not inside the section.
The gain is in isolating objects so they don't affect each other. A widget never needs to know about text; text never needs to adapt to widget presence. Each object is responsible for itself.