 .../lib/Drupal/Core/Config/Schema/ArrayElement.php | 142 +++++++++++++------
 core/lib/Drupal/Core/Config/Schema/Element.php     |  40 ------
 core/lib/Drupal/Core/Config/Schema/Ignore.php      |  10 +-
 core/lib/Drupal/Core/Config/Schema/Mapping.php     | 151 ++-------------------
 core/lib/Drupal/Core/Config/Schema/Sequence.php    |  76 ++---------
 core/lib/Drupal/Core/Config/Schema/Undefined.php   |  10 +-
 core/lib/Drupal/Core/Config/TypedConfigManager.php |   4 +-
 .../Core/Config/TypedConfigManagerInterface.php    |  15 +-
 core/lib/Drupal/Core/Entity/ContentEntityBase.php  |   2 +-
 .../Core/Entity/Plugin/DataType/EntityAdapter.php  |  11 +-
 .../Drupal/Core/Field/FieldItemListInterface.php   |   2 +-
 .../Drupal/Core/TypedData/ComplexDataInterface.php |  75 ----------
 .../Drupal/Core/TypedData/ListDataDefinition.php   |   7 +
 core/lib/Drupal/Core/TypedData/ListInterface.php   |  41 +-----
 core/lib/Drupal/Core/TypedData/ListTrait.php       |  31 +++++
 .../Core/TypedData/Plugin/DataType/ItemList.php    |  35 +++--
 .../Drupal/Core/TypedData/Plugin/DataType/Map.php  |  26 +++-
 .../TypedData/TraversableTypedDataInterface.php    |  89 ++++++++++++
 core/lib/Drupal/Core/TypedData/TypedData.php       |  19 +++
 .../lib/Drupal/Core/TypedData/TypedDataManager.php |  41 +++---
 .../Core/TypedData/Validation/MetadataFactory.php  |   5 +-
 .../Validation/PropertyContainerMetadata.php       |   8 +-
 .../Constraint/ComplexDataConstraintValidator.php  |   4 +-
 core/modules/config/src/Tests/ConfigSchemaTest.php |  46 +++----
 core/modules/locale/src/LocaleTypedConfig.php      |   4 +-
 .../src/Tests/LocaleConfigTranslationTest.php      |   2 +-
 .../system/src/Tests/Entity/EntityFieldTest.php    |   8 +-
 .../system/src/Tests/TypedData/TypedDataTest.php   |   4 +-
 .../Entity/Sql/SqlContentEntityStorageTest.php     |   2 +-
 .../Entity/TypedData/EntityAdapterUnitTest.php     |   6 +-
 30 files changed, 404 insertions(+), 512 deletions(-)
