+                                       ->arrayNode('default')
+                                               ->addDefaultsIfNotSet()
+                                               #XXX: ignoreExtraKeys(bool $remove = true)
+                                               ->ignoreExtraKeys(false)
+                                               ->children()
+                                                       ->scalarNode('admin')->cannotBeEmpty()->defaultValue($defaults['default']['admin'])->end()
+                                                       ->scalarNode('civility')->cannotBeEmpty()->defaultValue($defaults['default']['civility'])->end()
+                                                       #TODO: see if we can't prevent key normalisation with ->normalizeKeys(false)
+                                                       ->arrayNode('languages')
+                                                               ->treatNullLike([])
+                                                               ->defaultValue($defaults['default']['languages'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                                       #TODO: see if we can't prevent key normalisation with ->normalizeKeys(false)
+                                                       ->arrayNode('locales')
+                                                               ->treatNullLike([])
+                                                               ->defaultValue($defaults['default']['locales'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                                       ->arrayNode('group')
+                                                               ->treatNullLike([])
+                                                               ->defaultValue($defaults['default']['group'])
+                                                               ->scalarPrototype()->end()
+                                                       ->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('route')
+                                               ->addDefaultsIfNotSet()
+                                               ->children()
+                                                       ->arrayNode('confirm')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['confirm']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike([])
+                                                                               ->defaultValue($defaults['route']['confirm']['context'])
+                                                                               ->scalarPrototype()->end()
+                                                                       ->end()
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('edit')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['edit']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike([])
+                                                                               ->defaultValue($defaults['route']['edit']['context'])
+                                                                               ->scalarPrototype()->end()
+                                                                       ->end()
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('home')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['home']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike([])
+                                                                               ->defaultValue($defaults['route']['home']['context'])
+                                                                               ->scalarPrototype()->end()
+                                                                       ->end()
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('index')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['index']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike([])
+                                                                               ->defaultValue($defaults['route']['index']['context'])
+                                                                               ->scalarPrototype()->end()
+                                                                       ->end()
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('login')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['login']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike([])
+                                                                               ->defaultValue($defaults['route']['login']['context'])
+                                                                               ->scalarPrototype()->end()
+                                                                       ->end()
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('recover')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['recover']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike([])
+                                                                               ->defaultValue($defaults['route']['recover']['context'])
+                                                                               ->scalarPrototype()->end()
+                                                                       ->end()
+                                                               ->end()
+                                                       ->end()
+                                                       ->arrayNode('register')
+                                                               ->addDefaultsIfNotSet()
+                                                               ->children()
+                                                                       ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['register']['name'])->end()
+                                                                       ->arrayNode('context')
+                                                                               ->treatNullLike([])
+                                                                               ->defaultValue($defaults['route']['register']['context'])
+                                                                               ->scalarPrototype()->end()
+                                                                       ->end()
+                                                               ->end()
+                                                       ->end()
+                                               ->end()
+                                       ->end()
+                                       ->arrayNode('translate')
+                                               ->treatNullLike([])
+                                               ->defaultValue($defaults['translate'])
+                                               ->scalarPrototype()->end()
+                                       ->end()