We've all been there: start off with disabling all default nodes and possible auxiliary nodes in our pages' content collections. Once we finalize our node types we think about where we need them and explicitly enable them for the corresponding content collections. Before long we end up with something like this:
'Vendor.Package:Page':
childNodes:
main:
type: 'Neos.Neos:ContentCollection'
constraints:
nodeTypes:
'*': false
'Vendor.Package:Heading': true
'Vendor.Package:Text': true
'Vendor.Package:Image': true
'Vendor.Package:TwoColumn': true
'Vendor.Package:ThreeColumn': true
And as we have elements with multiple columns, we need to define our constraints there as well. And in a container element. And every time we need a different subset of allowed node types.
Imagine we would rename a node type: we would have to refactor a lot of node type configurations which aren't further related.