Child-model agnostic. Unlike most toolkits, which use child lists,
Flutter’s render tree does not commit to a specific child model.
For example, the RenderBox class has an abstract visitChildren()
method rather than a concrete firstChild and nextSibling interface.
Many subclasses support only a single child, held directly as a member
variable, rather than a list of children. For example, RenderPadding
supports only a single child and, as a result, has a simpler layout
method that takes less time to execute.