Относительные пути в пространстве имен в ООП в PHP

Пусть в файле index.php происходит следующий вызов:

index.php<?php
  namespace Admin\Data;
  
  new \Core\Controller;
?>

Как вы уже знаете, при обращении к классу перед его пространством имен следует писать обратный слеш. На самом деле это не обязательно. Если этот слеш не написать, то вызываемое пространство имен будет рассчитано относительно текущего пространства. Смотрите пример:

index.php<?php
  namespace Admin\Data;
  
  new Core\Controller; // эквивалентно \Admin\Data\Core\Controller
?>
Задание 1

Даны два класса:

php<?php
  namespace Modules\Shop\Core;
  
  class Cart
  {
    
  }
?>
php<?php
  namespace Modules\Shop;
  
  class UserCart extends \Modules\Shop\Core\Cart
  {
    
  }
?>

Упростите код для наследования класса, учитывая то, что пространства имен наших классов имеют совпадающую часть.

Задание 2

Даны два класса:

php<?php
  namespace Core\Data;
  
  class Controller
  {
    
  }
?>
php<?php
  namespace Core\Data;
  
  class Model
  {
    
  }
?>

Вот так создаются объекты этих классов в файле index.php:

index.php<?php
  namespace Core\Data;
  
  $controller = new \Core\Data\Controller;
  $model      = new \Core\Data\Model;
?>

Упростите код для создания объектов, учитывая пространство имен, в котором создаются объекты наших классов.