diff --git a/core/lib/Drupal/Core/Config/Schema/Parser.php b/core/lib/Drupal/Core/Config/Schema/Parser.php
deleted file mode 100644
index 9569244..0000000
--- a/core/lib/Drupal/Core/Config/Schema/Parser.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\Core\Config\Schema\Parser.
- */
-
-namespace Drupal\Core\Config\Schema;
-
-/**
- * Parser.
- */
-class Parser {
-
-  /**
-   * Parse configuration data against schema data.
-   */
-  static function parse($data, $definition, $name = NULL, $parent = NULL) {
-    // Set default type depending on data and context.
-    if (!isset($definition['type'])) {
-      if (is_array($data) || !$context) {
-        $definition += array('type' => 'any');
-      }
-      else {
-        $definition += array('type' => 'str');
-      }
-    }
-    // Create typed data object.
-    config_typed()->create($definition, $data, $name, $parent);
-  }
-
-  /**
-   * Validate configuration data against schema data.
-   */
-  static function validate($config_data, $schema_data) {
-    return self::parse($config_data, $schema_data)->validate();
-  }
-
-  static function getDefinition($type, $data) {
-    return config_definition($type);
-  }
-}
-
diff --git a/core/lib/Drupal/Core/Config/TypedConfigManager.php b/core/lib/Drupal/Core/Config/TypedConfigManager.php
index c06ec51..2028d20 100644
--- a/core/lib/Drupal/Core/Config/TypedConfigManager.php
+++ b/core/lib/Drupal/Core/Config/TypedConfigManager.php
@@ -56,12 +56,12 @@ public function get($name) {
    */
   public function create(array $definition, $value = NULL, $name = NULL, $parent = NULL) {
     if (!isset($definition['type'])) {
-      // Set default type 'str' if possible. If not it will be 'any'.
+      // Set default type 'string' if possible. If not it will be 'undefined'.
       if (is_string($value)) {
-        $definition['type'] = 'str';
+        $definition['type'] = 'string';
       }
       else {
-        $definition['type'] = 'any';
+        $definition['type'] = 'undefined';
       }
     }
     elseif (strpos($definition['type'], ']')) {
diff --git a/core/modules/contact/config/contact.schema.yml b/core/modules/contact/config/contact.schema.yml
index f0b70bd..d9b4381 100644
--- a/core/modules/contact/config/contact.schema.yml
+++ b/core/modules/contact/config/contact.schema.yml
@@ -23,7 +23,6 @@ contact.settings:
   mapping:
     "default_category":
       type: string
-      required: yes
     "flood":
       type: mapping
       mapping:
