diff --git a/core/lib/Drupal/Core/Entity/Entity.php b/core/lib/Drupal/Core/Entity/Entity.php
index ec05c1a..3fc660d 100644
--- a/core/lib/Drupal/Core/Entity/Entity.php
+++ b/core/lib/Drupal/Core/Entity/Entity.php
@@ -431,24 +431,16 @@ public function getNGEntity() {
   /**
    * {@inheritdoc}
    */
-  public function getType() {
+  public function getDefinition() {
     // @todo: This does not make much sense, so remove once TypedDataInterface
     // is removed. See https://drupal.org/node/2002138.
     if ($this->bundle() != $this->entityType()) {
-      return 'entity:' . $this->entityType() . ':' . $this->bundle();
+      $type = 'entity:' . $this->entityType() . ':' . $this->bundle();
     }
-    return 'entity:' . $this->entityType();
-  }
-
-  /**
-   * {@inheritdoc}
-   */
-  public function getDefinition() {
-    // @todo: This does not make much sense, so remove once TypedDataInterface
-    // is removed. See https://drupal.org/node/2002138.
-    return array(
-      'type' => $this->getType()
-    );
+    else {
+      $type = 'entity:' . $this->entityType();
+    }
+    return array('type' => $type);
   }
 
   /**
diff --git a/core/lib/Drupal/Core/Entity/EntityBCDecorator.php b/core/lib/Drupal/Core/Entity/EntityBCDecorator.php
index a3ffcb9..b0be82e 100644
--- a/core/lib/Drupal/Core/Entity/EntityBCDecorator.php
+++ b/core/lib/Drupal/Core/Entity/EntityBCDecorator.php
@@ -432,13 +432,6 @@ public function getTranslation($langcode) {
   /**
    * Forwards the call to the decorated entity.
    */
-  public function getType() {
-    return $this->decorated->getType();
-  }
-
-  /**
-   * Forwards the call to the decorated entity.
-   */
   public function getDefinition() {
     return $this->decorated->getDefinition();
   }
diff --git a/core/lib/Drupal/Core/TypedData/TypedData.php b/core/lib/Drupal/Core/TypedData/TypedData.php
index f54f8ed..aa873ac 100644
--- a/core/lib/Drupal/Core/TypedData/TypedData.php
+++ b/core/lib/Drupal/Core/TypedData/TypedData.php
@@ -59,13 +59,6 @@ public function __construct(array $definition, $name = NULL, TypedDataInterface
   }
 
   /**
-   * Implements \Drupal\Core\TypedData\TypedDataInterface::getType().
-   */
-  public function getType() {
-    return $this->definition['type'];
-  }
-
-  /**
    * {@inheritdoc}
    */
   public function getPluginId() {
diff --git a/core/lib/Drupal/Core/TypedData/TypedDataInterface.php b/core/lib/Drupal/Core/TypedData/TypedDataInterface.php
index 96229b6..bbdf4ea 100644
--- a/core/lib/Drupal/Core/TypedData/TypedDataInterface.php
+++ b/core/lib/Drupal/Core/TypedData/TypedDataInterface.php
@@ -15,14 +15,6 @@
 interface TypedDataInterface {
 
   /**
-   * Gets the data type.
-   *
-   * @return string
-   *   The data type of the wrapped data.
-   */
-  public function getType();
-
-  /**
    * Gets the data definition.
    *
    * @return array
diff --git a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityFieldTest.php b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityFieldTest.php
index 77c816c..297b00c 100644
--- a/core/modules/system/lib/Drupal/system/Tests/Entity/EntityFieldTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/Entity/EntityFieldTest.php
@@ -11,6 +11,7 @@
 use Drupal\Core\Entity\Field\FieldInterface;
 use Drupal\Core\Entity\Field\FieldItemInterface;
 use Drupal\Core\Language\Language;
+use Drupal\Core\TypedData\Type\StringInterface;
 use Drupal\Core\TypedData\TypedDataInterface;
 
 /**
@@ -492,7 +493,7 @@ protected function assertDataStructureInterfaces($entity_type) {
    */
   public function getContainedStrings(TypedDataInterface $wrapper, $depth, array &$strings) {
 
-    if ($wrapper->getType() == 'string') {
+    if ($wrapper instanceof StringInterface) {
       $strings[] = $wrapper->getValue();
     }
 
diff --git a/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php b/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php
index 3558d20..944b35c 100644
--- a/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php
+++ b/core/modules/system/lib/Drupal/system/Tests/TypedData/TypedDataTest.php
@@ -52,16 +52,12 @@ public function setUp() {
    * @see Drupal\Core\TypedData\TypedDataManager::create().
    */
   protected function createTypedData($definition, $value = NULL, $name = NULL) {
-    // Save the type that was passed in so we can compare with it later.
-    $type = $definition['type'];
     // Construct the object.
     $data = $this->typedData->create($definition, $value, $name);
     // Assert the definition of the wrapper.
     $this->assertTrue($data instanceof \Drupal\Core\TypedData\TypedDataInterface, 'Typed data object is an instance of the typed data interface.');
     $definition = $data->getDefinition();
     $this->assertTrue(!empty($definition['type']), format_string('!type data definition was returned.', array('!type' => $definition['type'])));
-    // Assert that the correct type was constructed.
-    $this->assertEqual($data->getType(), $type, format_string('!type object returned type.', array('!type' => $definition['type'])));
     return $data;
   }
 
diff --git a/core/modules/text/lib/Drupal/text/Plugin/field/field_type/TextItemBase.php b/core/modules/text/lib/Drupal/text/Plugin/field/field_type/TextItemBase.php
index df9cea0..f57a46f 100644
--- a/core/modules/text/lib/Drupal/text/Plugin/field/field_type/TextItemBase.php
+++ b/core/modules/text/lib/Drupal/text/Plugin/field/field_type/TextItemBase.php
@@ -79,7 +79,7 @@ public function prepareCache() {
       $itemBC = $this->getValue();
       $langcode = $this->getParent()->getParent()->language()->id;
       $this->set('safe_value', text_sanitize($text_processing, $langcode, $itemBC, 'value'));
-      if ($this->getType() == 'field_item:text_with_summary') {
+      if ($this->getPluginId() == 'field_item:text_with_summary') {
         $this->set('safe_summary', text_sanitize($text_processing, $langcode, $itemBC, 'summary'));
       }
     }
diff --git a/core/modules/views_ui/lib/Drupal/views_ui/ViewUI.php b/core/modules/views_ui/lib/Drupal/views_ui/ViewUI.php
index 78bbeca..238eaf9 100644
--- a/core/modules/views_ui/lib/Drupal/views_ui/ViewUI.php
+++ b/core/modules/views_ui/lib/Drupal/views_ui/ViewUI.php
@@ -1081,13 +1081,6 @@ public function initTranslation($langcode) {
   }
 
   /**
-   * Implements \Drupal\Core\TypedData\TypedDataInterface::getType().
-   */
-  public function getType() {
-    return $this->storage->getType();
-  }
-
-  /**
    * Implements \Drupal\Core\TypedData\TypedDataInterface::getDefinition().
    */
   public function getDefinition() {
