diff --git a/core/lib/Drupal/Component/Plugin/Definition/DerivablePluginDefinitionInterface.php b/core/lib/Drupal/Component/Plugin/Definition/DerivablePluginDefinitionInterface.php
index 6aaa3adb31a3402b8acec5e2e4f5f9d985d9552b..11e26d840235bb136ea27e187472618e96f31140 100644
--- a/core/lib/Drupal/Component/Plugin/Definition/DerivablePluginDefinitionInterface.php
+++ b/core/lib/Drupal/Component/Plugin/Definition/DerivablePluginDefinitionInterface.php
@@ -12,7 +12,7 @@ interface DerivablePluginDefinitionInterface extends PluginDefinitionInterface {
   /**
    * Gets the name of the deriver of this plugin definition, if it exists.
    *
-   * @return string|null
+   * @return class-string|null
    *   Either the deriver class name, or NULL if the plugin is not derived.
    */
   public function getDeriver();
@@ -20,7 +20,7 @@ public function getDeriver();
   /**
    * Sets the deriver of this plugin definition.
    *
-   * @param string|null $deriver
+   * @param class-string|null $deriver
    *   Either the name of a class that implements
    *   \Drupal\Component\Plugin\Derivative\DeriverInterface, or NULL.
    *
diff --git a/core/lib/Drupal/Core/Action/Attribute/Action.php b/core/lib/Drupal/Core/Action/Attribute/Action.php
index e36fdc521c27bc1da7cdbd7811ca5bc240919464..42e3c2e59e33574bb8ed6a41db5480b293c255b8 100644
--- a/core/lib/Drupal/Core/Action/Attribute/Action.php
+++ b/core/lib/Drupal/Core/Action/Attribute/Action.php
@@ -31,7 +31,7 @@ class Action extends Plugin {
    * @param \Drupal\Core\StringTranslation\TranslatableMarkup|null $category
    *   (optional) The category under which the action should be listed in the
    *   UI.
-   * @param string|null $deriver
+   * @param class-string|null $deriver
    *   (optional) The deriver class.
    * @param string|null $confirm_form_route_name
    *   (optional) The route name for a confirmation form for this action.
diff --git a/core/lib/Drupal/Core/Archiver/Attribute/Archiver.php b/core/lib/Drupal/Core/Archiver/Attribute/Archiver.php
index 438ba18f8319fec6b25b1c6ba83fa7602cc98865..07884ad9b37a20d9a32842006b8da4b1d8cd9ca5 100644
--- a/core/lib/Drupal/Core/Archiver/Attribute/Archiver.php
+++ b/core/lib/Drupal/Core/Archiver/Attribute/Archiver.php
@@ -31,7 +31,7 @@ class Archiver extends Plugin {
    *   The description of the archiver plugin.
    * @param array $extensions
    *   An array of valid extensions for this archiver.
-   * @param string|null $deriver
+   * @param class-string|null $deriver
    *   (optional) The deriver class.
    */
   public function __construct(
diff --git a/core/lib/Drupal/Core/Block/Attribute/Block.php b/core/lib/Drupal/Core/Block/Attribute/Block.php
index 275e399395a86c43cec111512972d7204f4b5e3a..46d5ccc5ca41665e6abca8f6a2a835e83df66394 100644
--- a/core/lib/Drupal/Core/Block/Attribute/Block.php
+++ b/core/lib/Drupal/Core/Block/Attribute/Block.php
@@ -23,7 +23,7 @@ class Block extends Plugin {
    * @param \Drupal\Core\Plugin\Context\ContextDefinitionInterface[] $context_definitions
    *   (optional) An array of context definitions describing the context used by
    *   the plugin. The array is keyed by context names.
-   * @param string|null $deriver
+   * @param class-string|null $deriver
    *   (optional) The deriver class.
    * @param string[] $forms
    *   (optional) An array of form class names keyed by a string.
diff --git a/core/lib/Drupal/Core/ImageToolkit/Attribute/ImageToolkitOperation.php b/core/lib/Drupal/Core/ImageToolkit/Attribute/ImageToolkitOperation.php
index fb7abcaa3344637415c2f493427c6ec01d69ea59..2b481287a9723eb87c6947b61dc83743bc575c95 100644
--- a/core/lib/Drupal/Core/ImageToolkit/Attribute/ImageToolkitOperation.php
+++ b/core/lib/Drupal/Core/ImageToolkit/Attribute/ImageToolkitOperation.php
@@ -56,7 +56,7 @@ class ImageToolkitOperation extends Plugin {
    *   The human-readable name of the image toolkit operation.
    * @param \Drupal\Core\StringTranslation\TranslatableMarkup|null $description
    *   (optional) The description of the image toolkit operation.
-   * @param string|null $deriver
+   * @param class-string|null $deriver
    *   (optional) The deriver class for the image toolkit operation.
    */
   public function __construct(
diff --git a/core/lib/Drupal/Core/Mail/Attribute/Mail.php b/core/lib/Drupal/Core/Mail/Attribute/Mail.php
index f0d2d1ee4c972c2901add872c4ce4b7076d48de0..c533f7374defb5326c033ba8c9caf8f53f1ccefb 100644
--- a/core/lib/Drupal/Core/Mail/Attribute/Mail.php
+++ b/core/lib/Drupal/Core/Mail/Attribute/Mail.php
@@ -30,7 +30,7 @@ class Mail extends Plugin {
    *   The label of the plugin.
    * @param \Drupal\Core\StringTranslation\TranslatableMarkup|null $description
    *   (optional) A description of the plugin.
-   * @param string|null $deriver
+   * @param class-string|null $deriver
    *   (optional) The deriver class.
    */
   public function __construct(
diff --git a/core/lib/Drupal/Core/TypedData/Attribute/DataType.php b/core/lib/Drupal/Core/TypedData/Attribute/DataType.php
index 6a5390a090c2360c125ce876edebca777e5a18a3..7413e51a1e087a8844300d539a3143b16eb89db3 100644
--- a/core/lib/Drupal/Core/TypedData/Attribute/DataType.php
+++ b/core/lib/Drupal/Core/TypedData/Attribute/DataType.php
@@ -59,7 +59,7 @@ class DataType extends Plugin {
    *   (optional) An array of validation constraints for this type.
    * @param bool $unwrap_for_canonical_representation
    *   Whether the typed object wraps the canonical representation of the data.
-   * @param string|null $deriver
+   * @param class-string|null $deriver
    *   (optional) The deriver class for the data type.
    *
    * @see \Drupal\Core\TypedData\TypedDataManager::getConstraints()
diff --git a/core/lib/Drupal/Core/Validation/Attribute/Constraint.php b/core/lib/Drupal/Core/Validation/Attribute/Constraint.php
index ac36ef4886f0d89eed1289ec9e01cc13748fc05d..79a108d18f679a961573472d259795ac402b0ed6 100644
--- a/core/lib/Drupal/Core/Validation/Attribute/Constraint.php
+++ b/core/lib/Drupal/Core/Validation/Attribute/Constraint.php
@@ -34,7 +34,7 @@ class Constraint extends Plugin {
    *   multiple type names. For supporting all types, FALSE may be specified.
    *   The key defaults to an empty array, which indicates no types are
    *   supported.
-   * @param string|null $deriver
+   * @param class-string|null $deriver
    *   (optional) The deriver class.
    */
   public function __construct(
diff --git a/core/modules/help/src/Attribute/HelpSection.php b/core/modules/help/src/Attribute/HelpSection.php
index 17564b7df0e1c941494e0c9b8e28f49ccedb705c..fd3114a88b5090668e541dee686d772c6c0b7b2c 100644
--- a/core/modules/help/src/Attribute/HelpSection.php
+++ b/core/modules/help/src/Attribute/HelpSection.php
@@ -40,7 +40,7 @@ class HelpSection extends Plugin {
    *   page itself.
    * @param int|null $weight
    *   (optional) The weight of the help page section.
-   * @param string|null $deriver
+   * @param class-string|null $deriver
    *   (optional) The deriver class.
    *
    *   The sections will be ordered by this weight on the help page.
diff --git a/core/modules/rest/src/Attribute/RestResource.php b/core/modules/rest/src/Attribute/RestResource.php
index 90722cc42808ba767ba3fe317aecba15d3c7a2e4..9cd01d4932786373950fb796b7d2f1c519128300 100644
--- a/core/modules/rest/src/Attribute/RestResource.php
+++ b/core/modules/rest/src/Attribute/RestResource.php
@@ -33,12 +33,12 @@ class RestResource extends Plugin {
    *   The human-readable name of the REST resource plugin.
    * @param string|null $serialization_class
    *   (optional) The serialization class to deserialize serialized data into.
-   * @param string|null $deriver
+   * @param class-string|null $deriver
+   *   (optional) The deriver class for the rest resource.
+   * @param array $uri_paths
    *   (optional) The URI paths that this REST resource plugin provides.
    *   - key: The link relation type plugin ID.
    *   - value: The URL template.
-   * @param array $uri_paths
-   *   (optional) The deriver class for the rest resource.
    *
    * @see \Symfony\Component\Serializer\SerializerInterface
    * @see core/core.link_relation_types.yml