-                                       ->scalarNode('locales')->cannotBeEmpty()->defaultValue($defaults['locales'])->end()
-                                       ->scalarNode('languages')->cannotBeEmpty()->defaultValue($defaults['languages'])->end()
-                                       ->arrayNode('path')
-                                               ->addDefaultsIfNotSet()
-                                               ->children()
-                                                       ->scalarNode('cache')->defaultValue($defaults['path']['cache'])->end()
-                                                       ->scalarNode('public')->defaultValue($defaults['path']['public'])->end()
-                                               ->end()
+                                       #TODO: see if we can't prevent key normalisation with ->normalizeKeys(false)
+                                       #->scalarNode('locales')->cannotBeEmpty()->defaultValue($defaults['locales'])->end()
+                                       ->variableNode('locales')
+                                               ->treatNullLike([])
+                                               ->defaultValue($defaults['locales'])
+                                               #->scalarPrototype()->end()
+                                       ->end()
+                                       #TODO: see if we can't prevent key normalisation with ->normalizeKeys(false)
+                                       #->scalarNode('languages')->cannotBeEmpty()->defaultValue($defaults['languages'])->end()
+                                       ->variableNode('languages')
+                                               ->treatNullLike([])
+                                               ->defaultValue($defaults['languages'])
+                                               #->scalarPrototype()->end()