NamedDomainObjectContainer silently ignores entry with a specific name

My build adds support for a specific use of the protostuff compiler and it does so via an entry like follows in the project

protos {

The plugin configures this as follows

def protoModules = project.container(ProtoModule)
        protoModules.all { ProtoModule pm ->
            // do some project specific protostuff setup here
        project.extensions.protos = protoModules

We noticed a problem with this today in that the following entry is silently ignored (i.e. the action defined by protoModules#all is never executed).

protos {

renaming the entry to any other value appears to work fine. Any ideas what is going on here?