diff --git a/core/.phpstan-baseline.php b/core/.phpstan-baseline.php
index 89f75f0ad1deb649c1217bb8e7072af584d83251..112c18567677101f72d0a97c0439e4c9df4ec3e9 100644
--- a/core/.phpstan-baseline.php
+++ b/core/.phpstan-baseline.php
@@ -11776,12 +11776,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/block/src/Hook/BlockHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\block\\\\Hook\\\\BlockHooks\\:\\:rebuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/block/src/Hook/BlockHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\block\\\\Hook\\\\BlockHooks\\:\\:userRoleDelete\\(\\) has no return type specified\\.$#',
@@ -13432,12 +13426,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/comment/src/Hook/CommentHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\comment\\\\Hook\\\\CommentHooks\\:\\:entityStorageLoad\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/comment/src/Hook/CommentHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\comment\\\\Hook\\\\CommentHooks\\:\\:entityView\\(\\) has no return type specified\\.$#',
@@ -13498,12 +13486,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/comment/src/Hook/CommentHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\comment\\\\Hook\\\\CommentHooks\\:\\:userCancel\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/comment/src/Hook/CommentHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\comment\\\\Hook\\\\CommentHooks\\:\\:userPredelete\\(\\) has no return type specified\\.$#',
@@ -13702,12 +13684,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/comment/src/Plugin/views/sort/Thread.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\comment_display_configurable_test\\\\Hook\\\\CommentDisplayConfigurableTestHooks\\:\\:entityTypeBuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/comment/tests/modules/comment_display_configurable_test/src/Hook/CommentDisplayConfigurableTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\comment_test\\\\Controller\\\\CommentTestController\\:\\:commentReport\\(\\) has no return type specified\\.$#',
@@ -14518,12 +14494,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/config/tests/config_test/src/Entity/ConfigTest.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\config_test\\\\Hook\\\\ConfigTestHooks\\:\\:cacheFlush\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/config/tests/config_test/src/Hook/ConfigTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\config_test\\\\Hook\\\\ConfigTestHooksHooks\\:\\:configTestCreate\\(\\) has no return type specified\\.$#',
@@ -14908,12 +14878,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/config_translation/src/FormElement/PluralVariants.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\config_translation\\\\Hook\\\\ConfigTranslationHooks\\:\\:configTranslationInfo\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/config_translation/src/Hook/ConfigTranslationHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\config_translation\\\\Hook\\\\ConfigTranslationHooks\\:\\:entityOperation\\(\\) has no return type specified\\.$#',
@@ -15094,12 +15058,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/contact/src/Hook/ContactHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\contact\\\\Hook\\\\ContactHooks\\:\\:mail\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/contact/src/Hook/ContactHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\contact\\\\MailHandler\\:\\:sendMailMessages\\(\\) has no return type specified\\.$#',
@@ -17896,12 +17854,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/field/tests/modules/field_test/src/Hook/FieldTestFieldHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\field_test\\\\Hook\\\\FieldTestFieldHooks\\:\\:fieldStorageConfigUpdateForbid\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/field/tests/modules/field_test/src/Hook/FieldTestFieldHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: empty.variable
 	'message' => '#^Variable \\$items in empty\\(\\) always exists and is not falsy\\.$#',
@@ -19084,12 +19036,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/field_ui/src/Hook/FieldUiHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\field_ui\\\\Hook\\\\FieldUiHooks\\:\\:entityTypeBuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/field_ui/src/Hook/FieldUiHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\field_ui\\\\Hook\\\\FieldUiHooks\\:\\:entityViewModeDelete\\(\\) has no return type specified\\.$#',
@@ -19774,12 +19720,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/file/tests/file_test/src/Form/FileTestSaveUploadFromForm.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\file_test\\\\Hook\\\\FileTestHooks\\:\\:fileCopy\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/file/tests/file_test/src/Hook/FileTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\file_test\\\\Hook\\\\FileTestHooks\\:\\:fileDownload\\(\\) has no return type specified\\.$#',
@@ -19798,12 +19738,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/file/tests/file_test/src/Hook/FileTestHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\file_test\\\\Hook\\\\FileTestHooks\\:\\:fileMove\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/file/tests/file_test/src/Hook/FileTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\file_test\\\\Hook\\\\FileTestHooks\\:\\:filePredelete\\(\\) has no return type specified\\.$#',
@@ -20620,12 +20554,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/filter/tests/filter_test/src/Form/FilterTestFormatForm.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\filter_test\\\\Hook\\\\FilterTestHooks\\:\\:filterFormatDisable\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/filter/tests/filter_test/src/Hook/FilterTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\filter_test\\\\Hook\\\\FilterTestHooks\\:\\:filterFormatInsert\\(\\) has no return type specified\\.$#',
@@ -20932,12 +20860,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/history/src/Hook/HistoryHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\history\\\\Hook\\\\HistoryHooks\\:\\:userCancel\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/history/src/Hook/HistoryHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\history\\\\Hook\\\\HistoryHooks\\:\\:userDelete\\(\\) has no return type specified\\.$#',
@@ -21250,12 +21172,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/image/src/Hook/ImageHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\image\\\\Hook\\\\ImageHooks\\:\\:fileMove\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/image/src/Hook/ImageHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\image\\\\Hook\\\\ImageHooks\\:\\:filePredelete\\(\\) has no return type specified\\.$#',
@@ -25318,12 +25234,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/locale/src/Form/TranslationStatusForm.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\locale\\\\Hook\\\\LocaleHooks\\:\\:cacheFlush\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/locale/src/Hook/LocaleHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\locale\\\\Hook\\\\LocaleHooks\\:\\:configurableLanguageDelete\\(\\) has no return type specified\\.$#',
@@ -27574,12 +27484,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/menu_ui/src/Form/MenuLinkResetForm.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\menu_ui\\\\Hook\\\\MenuUiHooks\\:\\:entityTypeBuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/menu_ui/src/Hook/MenuUiHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\menu_ui\\\\Hook\\\\MenuUiHooks\\:\\:help\\(\\) has no return type specified\\.$#',
@@ -28334,18 +28238,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/migrate/src/Row.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\migrate_prepare_row_test\\\\Hook\\\\MigratePrepareRowTestHooks\\:\\:migratePrepareRow\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/migrate/tests/modules/migrate_prepare_row_test/src/Hook/MigratePrepareRowTestHooks.php',
-];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\migrate_skip_all_rows_test\\\\Hook\\\\MigrateSkipAllRowsTestHooks\\:\\:migratePrepareRow\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/migrate/tests/modules/migrate_skip_all_rows_test/src/Hook/MigrateSkipAllRowsTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\Tests\\\\migrate\\\\Kernel\\\\HighWaterNotJoinableTest\\:\\:providerSource\\(\\) has no return type specified\\.$#',
@@ -30768,12 +30660,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/node/tests/modules/node_access_test_language/src/Hook/NodeAccessTestLanguageHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\node_display_configurable_test\\\\Hook\\\\NodeDisplayConfigurableTestHooks\\:\\:entityTypeBuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/node/tests/modules/node_display_configurable_test/src/Hook/NodeDisplayConfigurableTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\node_test\\\\Hook\\\\NodeTestHooks\\:\\:nodeAccessRecords\\(\\) has no return type specified\\.$#',
@@ -31488,12 +31374,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/options/src/Hook/OptionsHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\options\\\\Hook\\\\OptionsHooks\\:\\:fieldStorageConfigUpdateForbid\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/options/src/Hook/OptionsHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\options\\\\Hook\\\\OptionsHooks\\:\\:help\\(\\) has no return type specified\\.$#',
@@ -33954,12 +33834,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/settings_tray/src/Block/BlockEntitySettingTrayForm.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\settings_tray\\\\Hook\\\\SettingsTrayHooks\\:\\:entityTypeBuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/settings_tray/src/Hook/SettingsTrayHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\settings_tray\\\\Hook\\\\SettingsTrayHooks\\:\\:help\\(\\) has no return type specified\\.$#',
@@ -35142,12 +35016,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/system/src/Form/ThemeSettingsForm.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\system\\\\Hook\\\\SystemHooks\\:\\:entityTypeBuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/system/src/Hook/SystemHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\system\\\\Hook\\\\SystemHooks\\:\\:fileDownload\\(\\) has no return type specified\\.$#',
@@ -35166,18 +35034,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/system/src/Hook/SystemHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\system\\\\Hook\\\\SystemHooks\\:\\:jsSettingsBuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/system/src/Hook/SystemHooks.php',
-];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\system\\\\Hook\\\\SystemHooks\\:\\:mail\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/system/src/Hook/SystemHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\system\\\\Hook\\\\SystemHooks\\:\\:modulesUninstalled\\(\\) has no return type specified\\.$#',
@@ -36084,12 +35940,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/system/tests/modules/common_test/src/Controller/CommonTestController.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\common_test\\\\Hook\\\\CommonTestHooks\\:\\:blockDrupalAlterFooAlter\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/system/tests/modules/common_test/src/Hook/CommonTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\common_test\\\\Hook\\\\CommonTestHooks\\:\\:libraryInfoBuild\\(\\) has no return type specified\\.$#',
@@ -36458,12 +36308,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/system/tests/modules/entity_crud_hook_test/src/Hook/EntityCrudHookTestHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\entity_crud_hook_test\\\\Hook\\\\EntityCrudHookTestHooks\\:\\:entityPreload\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/system/tests/modules/entity_crud_hook_test/src/Hook/EntityCrudHookTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\entity_crud_hook_test\\\\Hook\\\\EntityCrudHookTestHooks\\:\\:entityPresave\\(\\) has no return type specified\\.$#',
@@ -37730,12 +37574,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/system/tests/modules/entity_test_bundle_class/src/Entity/EntityTestBundleClass.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\entity_test_constraints\\\\Hook\\\\EntityTestConstraintsHooks\\:\\:entityTypeBuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/system/tests/modules/entity_test_constraints/src/Hook/EntityTestConstraintsHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\entity_test_extra\\\\Hook\\\\EntityTestExtraHooks\\:\\:entityBaseFieldInfo\\(\\) has no return type specified\\.$#',
@@ -38605,12 +38443,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/system/tests/modules/lazy_route_provider_install_test/src/PluginManager.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\mail_html_test\\\\Hook\\\\MailHtmlTestHooks\\:\\:mail\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/system/tests/modules/mail_html_test/src/Hook/MailHtmlTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\many_assets_test\\\\Hook\\\\ManyAssetsTestHooks\\:\\:libraryInfoBuild\\(\\) has no return type specified\\.$#',
@@ -39243,12 +39075,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/system/tests/modules/session_test/src/Form/SessionTestForm.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\session_test\\\\Hook\\\\SessionTestHooks\\:\\:userLogin\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/system/tests/modules/session_test/src/Hook/SessionTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\session_test\\\\Session\\\\TestSessionBag\\:\\:clearFlag\\(\\) has no return type specified\\.$#',
@@ -39669,12 +39495,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/system/tests/modules/update_script_test/src/Controller/UpdateScriptTestController.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\update_script_test\\\\Hook\\\\UpdateScriptTestHooks\\:\\:cacheFlush\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/system/tests/modules/update_script_test/src/Hook/UpdateScriptTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Function update_script_test_requirements\\(\\) has no return type specified\\.$#',
@@ -42117,12 +41937,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/taxonomy/tests/modules/taxonomy_crud/src/Hook/TaxonomyCrudHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\taxonomy_term_display_configurable_test\\\\Hook\\\\TaxonomyTermDisplayConfigurableTestHooks\\:\\:entityTypeBuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/taxonomy/tests/modules/taxonomy_term_display_configurable_test/src/Hook/TaxonomyTermDisplayConfigurableTestHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\taxonomy_test\\\\Hook\\\\TaxonomyTestHooks\\:\\:taxonomyTermLoad\\(\\) has no return type specified\\.$#',
@@ -42837,12 +42651,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/update/src/Hook/UpdateHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\update\\\\Hook\\\\UpdateHooks\\:\\:mail\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/update/src/Hook/UpdateHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\update\\\\Hook\\\\UpdateHooks\\:\\:modulesInstalled\\(\\) has no return type specified\\.$#',
@@ -43467,24 +43275,12 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/user/src/Hook/UserHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\user\\\\Hook\\\\UserHooks\\:\\:filterFormatDisable\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/user/src/Hook/UserHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\user\\\\Hook\\\\UserHooks\\:\\:help\\(\\) has no return type specified\\.$#',
 	'count' => 1,
 	'path' => __DIR__ . '/modules/user/src/Hook/UserHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\user\\\\Hook\\\\UserHooks\\:\\:mail\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/user/src/Hook/UserHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\user\\\\Hook\\\\UserHooks\\:\\:modulesUninstalled\\(\\) has no return type specified\\.$#',
@@ -43497,18 +43293,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/user/src/Hook/UserHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\user\\\\Hook\\\\UserHooks\\:\\:userLogin\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/user/src/Hook/UserHooks.php',
-];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\user\\\\Hook\\\\UserHooks\\:\\:userLogout\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/user/src/Hook/UserHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\user\\\\Hook\\\\UserHooks\\:\\:userPresave\\(\\) has no return type specified\\.$#',
@@ -51435,12 +51219,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/views/tests/modules/views_test_data/src/Hook/ViewsTestDataViewsHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\views_test_data\\\\Hook\\\\ViewsTestDataViewsHooks\\:\\:viewsInvalidateCache\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/views/tests/modules/views_test_data/src/Hook/ViewsTestDataViewsHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\views_test_data\\\\Plugin\\\\views\\\\access\\\\StaticTest\\:\\:alterRouteDefinition\\(\\) has no return type specified\\.$#',
@@ -53121,12 +52899,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/views_ui/src/Form/BreakLockForm.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\views_ui\\\\Hook\\\\ViewsUiHooks\\:\\:entityTypeBuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/views_ui/src/Hook/ViewsUiHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\views_ui\\\\Hook\\\\ViewsUiHooks\\:\\:help\\(\\) has no return type specified\\.$#',
@@ -54393,12 +54165,6 @@
 	'count' => 1,
 	'path' => __DIR__ . '/modules/workspaces/src/Hook/WorkspacesHooks.php',
 ];
-$ignoreErrors[] = [
-	// identifier: missingType.return
-	'message' => '#^Method Drupal\\\\workspaces\\\\Hook\\\\WorkspacesHooks\\:\\:entityTypeBuild\\(\\) has no return type specified\\.$#',
-	'count' => 1,
-	'path' => __DIR__ . '/modules/workspaces/src/Hook/WorkspacesHooks.php',
-];
 $ignoreErrors[] = [
 	// identifier: missingType.return
 	'message' => '#^Method Drupal\\\\workspaces\\\\Hook\\\\WorkspacesHooks\\:\\:entityUpdate\\(\\) has no return type specified\\.$#',
diff --git a/core/core.api.php b/core/core.api.php
index b807aaa223ce013ac9ca078f09e2060223c1165a..85fada976435a834a9f39520f578acf8eafae252 100644
--- a/core/core.api.php
+++ b/core/core.api.php
@@ -2159,7 +2159,7 @@ function hook_mail_alter(&$message) {
  *
  * @see \Drupal\Core\Mail\MailManagerInterface::mail()
  */
-function hook_mail($key, &$message, $params) {
+function hook_mail($key, &$message, $params): void {
   $account = $params['account'];
   $context = $params['context'];
   $variables = [
@@ -2268,7 +2268,7 @@ function hook_layout_alter(&$definitions) {
  * @see drupal_flush_all_caches()
  * @see hook_rebuild()
  */
-function hook_cache_flush() {
+function hook_cache_flush(): void {
   if (defined('MAINTENANCE_MODE') && MAINTENANCE_MODE == 'update') {
     _update_cache_clear();
   }
@@ -2289,7 +2289,7 @@ function hook_cache_flush() {
  * @see hook_cache_flush()
  * @see drupal_flush_all_caches()
  */
-function hook_rebuild() {
+function hook_rebuild(): void {
   $themes = \Drupal::service('theme_handler')->listInfo();
   foreach ($themes as $theme) {
     _block_rehash($theme->getName());
diff --git a/core/lib/Drupal/Core/Entity/entity.api.php b/core/lib/Drupal/Core/Entity/entity.api.php
index e4c12dc71c8432358ab917a491c876685459b6ce..5c42e615484a4e6a0276e2f2ab243d7b138d62ac 100644
--- a/core/lib/Drupal/Core/Entity/entity.api.php
+++ b/core/lib/Drupal/Core/Entity/entity.api.php
@@ -816,7 +816,7 @@ function hook_ENTITY_TYPE_create_access(\Drupal\Core\Session\AccountInterface $a
  * @see \Drupal\Core\Entity\EntityTypeInterface
  * @see hook_entity_type_alter()
  */
-function hook_entity_type_build(array &$entity_types) {
+function hook_entity_type_build(array &$entity_types): void {
   /** @var \Drupal\Core\Entity\EntityTypeInterface[] $entity_types */
   // Add a form for a custom node form without overriding the default
   // node form. To override the default node form, use hook_entity_type_alter().
@@ -1101,7 +1101,7 @@ function hook_ENTITY_TYPE_load($entities) {
  *
  * @see hook_entity_load()
  */
-function hook_entity_storage_load(array $entities, $entity_type) {
+function hook_entity_storage_load(array $entities, $entity_type): void {
   foreach ($entities as $entity) {
     $entity->foo = my_module_add_something_uncached($entity);
   }
diff --git a/core/lib/Drupal/Core/Render/theme.api.php b/core/lib/Drupal/Core/Render/theme.api.php
index 7926d15fdcc1f06c90f8dc0b653988d5d1842d10..904393c0e0e5181d5230ad4403d7e9178fafaa68 100644
--- a/core/lib/Drupal/Core/Render/theme.api.php
+++ b/core/lib/Drupal/Core/Render/theme.api.php
@@ -974,7 +974,7 @@ function hook_library_info_build() {
  * The results of this hook are cached, however modules may use
  * hook_js_settings_alter() to dynamically alter settings.
  */
-function hook_js_settings_build(array &$settings, \Drupal\Core\Asset\AttachedAssetsInterface $assets) {
+function hook_js_settings_build(array &$settings, \Drupal\Core\Asset\AttachedAssetsInterface $assets): void {
   // Manipulate settings.
   if (isset($settings['dialog'])) {
     $settings['dialog']['autoResize'] = FALSE;
diff --git a/core/modules/block/src/Hook/BlockHooks.php b/core/modules/block/src/Hook/BlockHooks.php
index 32eb48c323bacc33ce662b4391411269f26a86eb..ca3f935c8dcc9bc0dd34e79f207662eba8d845cd 100644
--- a/core/modules/block/src/Hook/BlockHooks.php
+++ b/core/modules/block/src/Hook/BlockHooks.php
@@ -112,7 +112,7 @@ public function modulesInstalled($modules) {
    * Implements hook_rebuild().
    */
   #[Hook('rebuild')]
-  public function rebuild() {
+  public function rebuild(): void {
     foreach (\Drupal::service('theme_handler')->listInfo() as $theme => $data) {
       if ($data->status) {
         $regions = system_region_list($theme);
diff --git a/core/modules/comment/src/Hook/CommentHooks.php b/core/modules/comment/src/Hook/CommentHooks.php
index e104fe978c6c7e10609e02b1b79874fe058977bc..e006c33023ae4f17b3c8d6344d611d0c0860cd00 100644
--- a/core/modules/comment/src/Hook/CommentHooks.php
+++ b/core/modules/comment/src/Hook/CommentHooks.php
@@ -268,7 +268,7 @@ public function formFieldUiDisplayOverviewFormAlter(&$form, FormStateInterface $
    * @see \Drupal\comment\Plugin\Field\FieldType\CommentItem::propertyDefinitions()
    */
   #[Hook('entity_storage_load')]
-  public function entityStorageLoad($entities, $entity_type) {
+  public function entityStorageLoad($entities, $entity_type): void {
     // Comments can only be attached to content entities, so skip others.
     if (!\Drupal::entityTypeManager()->getDefinition($entity_type)->entityClassImplements(FieldableEntityInterface::class)) {
       return;
@@ -427,7 +427,7 @@ public function nodeSearchResult(EntityInterface $node) {
    * Implements hook_user_cancel().
    */
   #[Hook('user_cancel')]
-  public function userCancel($edit, UserInterface $account, $method) {
+  public function userCancel($edit, UserInterface $account, $method): void {
     switch ($method) {
       case 'user_cancel_block_unpublish':
         $comments = \Drupal::entityTypeManager()->getStorage('comment')->loadByProperties(['uid' => $account->id()]);
diff --git a/core/modules/comment/tests/modules/comment_display_configurable_test/src/Hook/CommentDisplayConfigurableTestHooks.php b/core/modules/comment/tests/modules/comment_display_configurable_test/src/Hook/CommentDisplayConfigurableTestHooks.php
index 38a139acaafee83beba448981b14ec29f21b6026..0c23b3ecc1c3d4ff8946c932de8356ecec9a9e77 100644
--- a/core/modules/comment/tests/modules/comment_display_configurable_test/src/Hook/CommentDisplayConfigurableTestHooks.php
+++ b/core/modules/comment/tests/modules/comment_display_configurable_test/src/Hook/CommentDisplayConfigurableTestHooks.php
@@ -29,7 +29,7 @@ public function entityBaseFieldInfoAlter(&$base_field_definitions, EntityTypeInt
    * Implements hook_entity_type_build().
    */
   #[Hook('entity_type_build')]
-  public function entityTypeBuild(array &$entity_types) {
+  public function entityTypeBuild(array &$entity_types): void {
     // Allow skipping of extra preprocessing for configurable display.
     $entity_types['comment']->set('enable_base_field_custom_preprocess_skipping', TRUE);
   }
diff --git a/core/modules/config/tests/config_test/src/Hook/ConfigTestHooks.php b/core/modules/config/tests/config_test/src/Hook/ConfigTestHooks.php
index 7e570ea39ceafeeba4692f7d4000ec718d824bb3..4274935a953aa8b89b9a30740a6965e125a8c197 100644
--- a/core/modules/config/tests/config_test/src/Hook/ConfigTestHooks.php
+++ b/core/modules/config/tests/config_test/src/Hook/ConfigTestHooks.php
@@ -16,7 +16,7 @@ class ConfigTestHooks {
    * Implements hook_cache_flush().
    */
   #[Hook('cache_flush')]
-  public function cacheFlush() {
+  public function cacheFlush(): void {
     // Set a global value we can check in test code.
     $GLOBALS['hook_cache_flush'] = 'config_test_cache_flush';
   }
diff --git a/core/modules/config_translation/config_translation.api.php b/core/modules/config_translation/config_translation.api.php
index 64a219de8a67eb0d34fb550a8bfa790124ab3cdc..fb5e0cfb66304e8045347bbcec9a4f8098974000 100644
--- a/core/modules/config_translation/config_translation.api.php
+++ b/core/modules/config_translation/config_translation.api.php
@@ -31,7 +31,7 @@
  * @see \Drupal\config_translation\ConfigMapperManagerInterface
  * @see \Drupal\config_translation\Routing\RouteSubscriber::routes()
  */
-function hook_config_translation_info(&$info) {
+function hook_config_translation_info(&$info): void {
   $entity_type_manager = \Drupal::entityTypeManager();
   $route_provider = \Drupal::service('router.route_provider');
 
diff --git a/core/modules/config_translation/src/Hook/ConfigTranslationHooks.php b/core/modules/config_translation/src/Hook/ConfigTranslationHooks.php
index 0767743f8dc9138e8c74e00c6fc133dc5dbba664..d459b8fde90710cd8cece7ed5e4e7c4bf0c0d016 100644
--- a/core/modules/config_translation/src/Hook/ConfigTranslationHooks.php
+++ b/core/modules/config_translation/src/Hook/ConfigTranslationHooks.php
@@ -129,7 +129,7 @@ public function entityTypeAlter(array &$entity_types) : void {
    * Implements hook_config_translation_info().
    */
   #[Hook('config_translation_info')]
-  public function configTranslationInfo(&$info) {
+  public function configTranslationInfo(&$info): void {
     $entity_type_manager = \Drupal::entityTypeManager();
     // If field UI is not enabled, the base routes of the type
     // "entity.field_config.{$entity_type}_field_edit_form" are not defined.
diff --git a/core/modules/contact/src/Hook/ContactHooks.php b/core/modules/contact/src/Hook/ContactHooks.php
index d3d2fb10e6f4f8239b6807bd61d168d9ce50af2b..d05b0a58f7a538a23a94a4cc3dffb682b248e5d8 100644
--- a/core/modules/contact/src/Hook/ContactHooks.php
+++ b/core/modules/contact/src/Hook/ContactHooks.php
@@ -107,7 +107,7 @@ public function menuLocalTasksAlter(&$data, $route_name): void {
    * Implements hook_mail().
    */
   #[Hook('mail')]
-  public function mail($key, &$message, $params) {
+  public function mail($key, &$message, $params): void {
     $contact_message = $params['contact_message'];
     /** @var \Drupal\user\UserInterface $sender */
     $sender = $params['sender'];
diff --git a/core/modules/field/field.api.php b/core/modules/field/field.api.php
index afa0d5a49bf3481921edbfba5a669336cd3097db..eb2af3b555cfbc454a4e982d1d5532e86bf53e02 100644
--- a/core/modules/field/field.api.php
+++ b/core/modules/field/field.api.php
@@ -134,7 +134,7 @@ function hook_field_ui_preconfigured_options_alter(array &$options, $field_type)
  *
  * @see entity_crud
  */
-function hook_field_storage_config_update_forbid(FieldStorageConfigInterface $field_storage, FieldStorageConfigInterface $prior_field_storage) {
+function hook_field_storage_config_update_forbid(FieldStorageConfigInterface $field_storage, FieldStorageConfigInterface $prior_field_storage): void {
   if ($field_storage->getTypeProvider() == 'options' && $field_storage->hasData()) {
     // Forbid any update that removes allowed values with actual data.
     $allowed_values = $field_storage->getSetting('allowed_values');
diff --git a/core/modules/field/tests/modules/field_test/src/Hook/FieldTestFieldHooks.php b/core/modules/field/tests/modules/field_test/src/Hook/FieldTestFieldHooks.php
index 19c83c13327192cf7da0ed3ec663c5444a500d26..cd7c9db3022cf87274361ea2bac45f4ac2f07808 100644
--- a/core/modules/field/tests/modules/field_test/src/Hook/FieldTestFieldHooks.php
+++ b/core/modules/field/tests/modules/field_test/src/Hook/FieldTestFieldHooks.php
@@ -37,7 +37,7 @@ public function fieldWidgetInfoAlter(&$info): void {
    * Implements hook_field_storage_config_update_forbid().
    */
   #[Hook('field_storage_config_update_forbid')]
-  public function fieldStorageConfigUpdateForbid(FieldStorageConfigInterface $field_storage, FieldStorageConfigInterface $prior_field_storage) {
+  public function fieldStorageConfigUpdateForbid(FieldStorageConfigInterface $field_storage, FieldStorageConfigInterface $prior_field_storage): void {
     if ($field_storage->getType() == 'test_field' && $field_storage->getSetting('unchangeable') != $prior_field_storage->getSetting('unchangeable')) {
       throw new FieldStorageDefinitionUpdateForbiddenException("field_test 'unchangeable' setting cannot be changed'");
     }
diff --git a/core/modules/field_ui/src/Hook/FieldUiHooks.php b/core/modules/field_ui/src/Hook/FieldUiHooks.php
index 9129ebeddf389c24387f22ffe2213cf67bda8d33..2323064398a18e3bd285384c0ef0c53ac70ec815 100644
--- a/core/modules/field_ui/src/Hook/FieldUiHooks.php
+++ b/core/modules/field_ui/src/Hook/FieldUiHooks.php
@@ -100,7 +100,7 @@ public function theme() : array {
    * Implements hook_entity_type_build().
    */
   #[Hook('entity_type_build')]
-  public function entityTypeBuild(array &$entity_types) {
+  public function entityTypeBuild(array &$entity_types): void {
     /** @var \Drupal\Core\Entity\EntityTypeInterface[] $entity_types */
     $entity_types['field_config']->setFormClass('edit', 'Drupal\field_ui\Form\FieldConfigEditForm');
     $entity_types['field_config']->setFormClass('default', FieldConfigEditForm::class);
diff --git a/core/modules/file/file.api.php b/core/modules/file/file.api.php
index fe7aa535ab620613d5b594c194caf59fbf36d8ad..6513b03d4e7a7e8b250d13f8d2bce8b3cc0440cb 100644
--- a/core/modules/file/file.api.php
+++ b/core/modules/file/file.api.php
@@ -75,7 +75,7 @@
  *
  * @see \Drupal\file\FileRepositoryInterface::copy()
  */
-function hook_file_copy(FileInterface $file, FileInterface $source) {
+function hook_file_copy(FileInterface $file, FileInterface $source): void {
   // Make sure that the file name starts with the owner's user name.
   if (!str_starts_with($file->getFilename(), $file->getOwner()->name)) {
     $file->setFilename($file->getOwner()->name . '_' . $file->getFilename());
@@ -95,7 +95,7 @@ function hook_file_copy(FileInterface $file, FileInterface $source) {
  *
  * @see \Drupal\file\FileRepositoryInterface::move()
  */
-function hook_file_move(FileInterface $file, FileInterface $source) {
+function hook_file_move(FileInterface $file, FileInterface $source): void {
   // Make sure that the file name starts with the owner's user name.
   if (!str_starts_with($file->getFilename(), $file->getOwner()->name)) {
     $file->setFilename($file->getOwner()->name . '_' . $file->getFilename());
diff --git a/core/modules/file/tests/file_test/src/Hook/FileTestHooks.php b/core/modules/file/tests/file_test/src/Hook/FileTestHooks.php
index 0e8b090ecf48aaf30bcc7a4582f37e8ee9f54f1a..ba8b0ff84072644a903c7acee22772983329d402 100644
--- a/core/modules/file/tests/file_test/src/Hook/FileTestHooks.php
+++ b/core/modules/file/tests/file_test/src/Hook/FileTestHooks.php
@@ -62,7 +62,7 @@ public function fileUpdate(File $file) {
    * Implements hook_file_copy().
    */
   #[Hook('file_copy')]
-  public function fileCopy(File $file, $source) {
+  public function fileCopy(File $file, $source): void {
     _file_test_log_call('copy', [$file->id(), $source->id()]);
   }
 
@@ -70,7 +70,7 @@ public function fileCopy(File $file, $source) {
    * Implements hook_file_move().
    */
   #[Hook('file_move')]
-  public function fileMove(File $file, File $source) {
+  public function fileMove(File $file, File $source): void {
     _file_test_log_call('move', [$file->id(), $source->id()]);
   }
 
diff --git a/core/modules/filter/filter.api.php b/core/modules/filter/filter.api.php
index ab8edffafbbaed1778ae4ba35b0b943f53ff34f8..9b26ca82855f0e8d1f0906366dd62148eb2ac32e 100644
--- a/core/modules/filter/filter.api.php
+++ b/core/modules/filter/filter.api.php
@@ -51,7 +51,7 @@ function hook_filter_secure_image_alter(&$image) {
  * @param \Drupal\filter\FilterFormatInterface $format
  *   The format object of the format being disabled.
  */
-function hook_filter_format_disable($format) {
+function hook_filter_format_disable($format): void {
   my_module_cache_rebuild();
 }
 
diff --git a/core/modules/filter/tests/filter_test/src/Hook/FilterTestHooks.php b/core/modules/filter/tests/filter_test/src/Hook/FilterTestHooks.php
index 2b3c90e2699f79e41bb27a58af97a588b7f2abb2..99c88e5eadd095f5f3c5017135cb1164d51f9238 100644
--- a/core/modules/filter/tests/filter_test/src/Hook/FilterTestHooks.php
+++ b/core/modules/filter/tests/filter_test/src/Hook/FilterTestHooks.php
@@ -31,7 +31,7 @@ public function filterFormatUpdate($format) {
    * Implements hook_filter_format_disable().
    */
   #[Hook('filter_format_disable')]
-  public function filterFormatDisable($format) {
+  public function filterFormatDisable($format): void {
     \Drupal::messenger()->addStatus('hook_filter_format_disable invoked.');
   }
 
diff --git a/core/modules/history/src/Hook/HistoryHooks.php b/core/modules/history/src/Hook/HistoryHooks.php
index 2b95304dfd2d7a86105f0e67c89344e165b7ba7e..9233e0ae61262274f033bc59cbfa9bce8382466e 100644
--- a/core/modules/history/src/Hook/HistoryHooks.php
+++ b/core/modules/history/src/Hook/HistoryHooks.php
@@ -73,7 +73,7 @@ public function nodeDelete(EntityInterface $node) {
    * Implements hook_user_cancel().
    */
   #[Hook('user_cancel')]
-  public function userCancel($edit, UserInterface $account, $method) {
+  public function userCancel($edit, UserInterface $account, $method): void {
     switch ($method) {
       case 'user_cancel_reassign':
         \Drupal::database()->delete('history')->condition('uid', $account->id())->execute();
diff --git a/core/modules/image/image.api.php b/core/modules/image/image.api.php
index 8c7138992933873c8cad58148f4475522d56ce57..bac226320f2fd670866f5135daec43fd91f61d26 100644
--- a/core/modules/image/image.api.php
+++ b/core/modules/image/image.api.php
@@ -36,7 +36,7 @@ function hook_image_effect_info_alter(&$effects) {
  *   (optional) The original image path or URI. If it's supplied, only this
  *   image derivative will be flushed.
  */
-function hook_image_style_flush($style, $path = NULL) {
+function hook_image_style_flush($style, $path = NULL): void {
   // Empty cached data that contains information about the style.
   \Drupal::cache('my_module')->deleteAll();
 }
diff --git a/core/modules/image/src/Hook/ImageHooks.php b/core/modules/image/src/Hook/ImageHooks.php
index 45fab8c3fa56456a2ac0616d820a595d02e2001f..2bcbe2c6494511cb236754add03688dc2a52ea6c 100644
--- a/core/modules/image/src/Hook/ImageHooks.php
+++ b/core/modules/image/src/Hook/ImageHooks.php
@@ -220,7 +220,7 @@ public function fileDownload($uri) {
    * Implements hook_file_move().
    */
   #[Hook('file_move')]
-  public function fileMove(FileInterface $file, FileInterface $source) {
+  public function fileMove(FileInterface $file, FileInterface $source): void {
     // Delete any image derivatives at the original image path.
     image_path_flush($source->getFileUri());
   }
diff --git a/core/modules/locale/src/Hook/LocaleHooks.php b/core/modules/locale/src/Hook/LocaleHooks.php
index e0afe107c87cba87cc47ffdcb7dcdfbac4127e2f..5176f41d2bf94844b53bca99ec0cc3c842aeeb08 100644
--- a/core/modules/locale/src/Hook/LocaleHooks.php
+++ b/core/modules/locale/src/Hook/LocaleHooks.php
@@ -210,7 +210,7 @@ public function cron(): void {
    * Implements hook_cache_flush().
    */
   #[Hook('cache_flush')]
-  public function cacheFlush() {
+  public function cacheFlush(): void {
     \Drupal::state()->delete('system.javascript_parsed');
   }
 
diff --git a/core/modules/menu_ui/src/Hook/MenuUiHooks.php b/core/modules/menu_ui/src/Hook/MenuUiHooks.php
index 6d36c7d5ea8be8084a2a43af7b38d5d3371f0478..a4162b0c7d29d411c43b6696e3ff4e4c36bf1911 100644
--- a/core/modules/menu_ui/src/Hook/MenuUiHooks.php
+++ b/core/modules/menu_ui/src/Hook/MenuUiHooks.php
@@ -63,7 +63,7 @@ public function help($route_name, RouteMatchInterface $route_match) {
    * Implements hook_entity_type_build().
    */
   #[Hook('entity_type_build')]
-  public function entityTypeBuild(array &$entity_types) {
+  public function entityTypeBuild(array &$entity_types): void {
     /** @var \Drupal\Core\Entity\EntityTypeInterface[] $entity_types */
     $entity_types['menu']->setFormClass('add', 'Drupal\menu_ui\MenuForm')->setFormClass('edit', 'Drupal\menu_ui\MenuForm')->setFormClass('delete', 'Drupal\menu_ui\Form\MenuDeleteForm')->setListBuilderClass('Drupal\menu_ui\MenuListBuilder')->setLinkTemplate('add-form', '/admin/structure/menu/add')->setLinkTemplate('delete-form', '/admin/structure/menu/manage/{menu}/delete')->setLinkTemplate('edit-form', '/admin/structure/menu/manage/{menu}')->setLinkTemplate('add-link-form', '/admin/structure/menu/manage/{menu}/add')->setLinkTemplate('collection', '/admin/structure/menu');
     if (isset($entity_types['node'])) {
diff --git a/core/modules/migrate/migrate.api.php b/core/modules/migrate/migrate.api.php
index ca3ccd55db9a0f88b2431ca5ba7a064e352f9baa..9cb9e703454ae9eacc7b9c771c46a13142003ae2 100644
--- a/core/modules/migrate/migrate.api.php
+++ b/core/modules/migrate/migrate.api.php
@@ -152,7 +152,7 @@
  *
  * @ingroup migration
  */
-function hook_migrate_prepare_row(Row $row, MigrateSourceInterface $source, MigrationInterface $migration) {
+function hook_migrate_prepare_row(Row $row, MigrateSourceInterface $source, MigrationInterface $migration): void {
   if ($migration->id() == 'd6_filter_formats') {
     $value = $source->getDatabase()->query('SELECT [value] FROM {variable} WHERE [name] = :name', [':name' => 'my_module_filter_foo_' . $row->getSourceProperty('format')])->fetchField();
     if ($value) {
diff --git a/core/modules/migrate/tests/modules/migrate_prepare_row_test/src/Hook/MigratePrepareRowTestHooks.php b/core/modules/migrate/tests/modules/migrate_prepare_row_test/src/Hook/MigratePrepareRowTestHooks.php
index 5e8838e89f507e0ca2685c4b75457f4df72671f7..f16461b0aa3b480b10c74d83667fcd4f8c22fe04 100644
--- a/core/modules/migrate/tests/modules/migrate_prepare_row_test/src/Hook/MigratePrepareRowTestHooks.php
+++ b/core/modules/migrate/tests/modules/migrate_prepare_row_test/src/Hook/MigratePrepareRowTestHooks.php
@@ -19,7 +19,7 @@ class MigratePrepareRowTestHooks {
    * Implements hook_migrate_prepare_row().
    */
   #[Hook('migrate_prepare_row')]
-  public function migratePrepareRow(Row $row, MigrateSourceInterface $source, MigrationInterface $migration) {
+  public function migratePrepareRow(Row $row, MigrateSourceInterface $source, MigrationInterface $migration): void {
     // Test both options for save_to_map.
     $data = $row->getSourceProperty('data');
     if ($data == 'skip_and_record') {
diff --git a/core/modules/migrate/tests/modules/migrate_skip_all_rows_test/src/Hook/MigrateSkipAllRowsTestHooks.php b/core/modules/migrate/tests/modules/migrate_skip_all_rows_test/src/Hook/MigrateSkipAllRowsTestHooks.php
index c20100048d3b1607d2c6a90558665b97493fe158..f97ed5b64e212e2776589e2e223cdfc450b269fb 100644
--- a/core/modules/migrate/tests/modules/migrate_skip_all_rows_test/src/Hook/MigrateSkipAllRowsTestHooks.php
+++ b/core/modules/migrate/tests/modules/migrate_skip_all_rows_test/src/Hook/MigrateSkipAllRowsTestHooks.php
@@ -19,7 +19,7 @@ class MigrateSkipAllRowsTestHooks {
    * Implements hook_migrate_prepare_row().
    */
   #[Hook('migrate_prepare_row')]
-  public function migratePrepareRow(Row $row, MigrateSourceInterface $source, MigrationInterface $migration) {
+  public function migratePrepareRow(Row $row, MigrateSourceInterface $source, MigrationInterface $migration): void {
     if (\Drupal::state()->get('migrate_skip_all_rows_test_migrate_prepare_row')) {
       throw new MigrateSkipRowException();
     }
diff --git a/core/modules/node/tests/modules/node_display_configurable_test/src/Hook/NodeDisplayConfigurableTestHooks.php b/core/modules/node/tests/modules/node_display_configurable_test/src/Hook/NodeDisplayConfigurableTestHooks.php
index cc05dd3bcbe89fd5483010152a1f9d894418d875..4f262524c751f8a006c8fe405e1fa15759b9df32 100644
--- a/core/modules/node/tests/modules/node_display_configurable_test/src/Hook/NodeDisplayConfigurableTestHooks.php
+++ b/core/modules/node/tests/modules/node_display_configurable_test/src/Hook/NodeDisplayConfigurableTestHooks.php
@@ -29,7 +29,7 @@ public function entityBaseFieldInfoAlter(&$base_field_definitions, EntityTypeInt
    * Implements hook_entity_type_build().
    */
   #[Hook('entity_type_build')]
-  public function entityTypeBuild(array &$entity_types) {
+  public function entityTypeBuild(array &$entity_types): void {
     // Allow skipping of extra preprocessing for configurable display.
     $entity_types['node']->set('enable_base_field_custom_preprocess_skipping', TRUE);
     $entity_types['node']->set('enable_page_title_template', TRUE);
diff --git a/core/modules/options/src/Hook/OptionsHooks.php b/core/modules/options/src/Hook/OptionsHooks.php
index 9134b4532f2f659ce303829626bfbf63be18ed5b..fc48f948ed3ab514551104bd32492fe516afb4af 100644
--- a/core/modules/options/src/Hook/OptionsHooks.php
+++ b/core/modules/options/src/Hook/OptionsHooks.php
@@ -68,7 +68,7 @@ public function fieldStorageConfigDelete(FieldStorageConfigInterface $field_stor
    * Implements hook_field_storage_config_update_forbid().
    */
   #[Hook('field_storage_config_update_forbid')]
-  public function fieldStorageConfigUpdateForbid(FieldStorageConfigInterface $field_storage, FieldStorageConfigInterface $prior_field_storage) {
+  public function fieldStorageConfigUpdateForbid(FieldStorageConfigInterface $field_storage, FieldStorageConfigInterface $prior_field_storage): void {
     if ($field_storage->getTypeProvider() == 'options' && $field_storage->hasData()) {
       // Forbid any update that removes allowed values with actual data.
       $allowed_values = $field_storage->getSetting('allowed_values');
diff --git a/core/modules/settings_tray/src/Hook/SettingsTrayHooks.php b/core/modules/settings_tray/src/Hook/SettingsTrayHooks.php
index 9a4c94b707541dcc3f74402d7e66a303b8b87c6d..107bce1e9e5226fcb47a44a88b13c5c1410f6950 100644
--- a/core/modules/settings_tray/src/Hook/SettingsTrayHooks.php
+++ b/core/modules/settings_tray/src/Hook/SettingsTrayHooks.php
@@ -89,7 +89,7 @@ public function blockViewAlter(array &$build): void {
    * Implements hook_entity_type_build().
    */
   #[Hook('entity_type_build')]
-  public function entityTypeBuild(array &$entity_types) {
+  public function entityTypeBuild(array &$entity_types): void {
     /** @var \Drupal\Core\Entity\EntityTypeInterface[] $entity_types */
     $entity_types['block']->setFormClass('settings_tray', BlockEntitySettingTrayForm::class)->setLinkTemplate('settings_tray-form', '/admin/structure/block/manage/{block}/settings-tray');
   }
diff --git a/core/modules/system/src/Hook/SystemHooks.php b/core/modules/system/src/Hook/SystemHooks.php
index 90307fae353a82fd8a618c439f0b9a86da429f75..7d8f25714bb381997842e25d5b2df57b31e29b18 100644
--- a/core/modules/system/src/Hook/SystemHooks.php
+++ b/core/modules/system/src/Hook/SystemHooks.php
@@ -201,7 +201,7 @@ public function filetransferInfo() {
    * active theme but no other request-dependent values.
    */
   #[Hook('js_settings_build')]
-  public function jsSettingsBuild(&$settings, AttachedAssetsInterface $assets) {
+  public function jsSettingsBuild(&$settings, AttachedAssetsInterface $assets): void {
     // Generate the values for the core/drupal.ajax library.
     // We need to send ajaxPageState settings for core/drupal.ajax if:
     // - ajaxPageState is being loaded in this Response, in which case it will
@@ -342,7 +342,7 @@ public function cron(): void {
    * Implements hook_mail().
    */
   #[Hook('mail')]
-  public function mail($key, &$message, $params) {
+  public function mail($key, &$message, $params): void {
     $token_service = \Drupal::token();
     $context = $params['context'];
     $subject = PlainTextOutput::renderFromHtml($token_service->replace($context['subject'], $context));
@@ -355,7 +355,7 @@ public function mail($key, &$message, $params) {
    * Implements hook_entity_type_build().
    */
   #[Hook('entity_type_build')]
-  public function entityTypeBuild(array &$entity_types) {
+  public function entityTypeBuild(array &$entity_types): void {
     /** @var \Drupal\Core\Entity\EntityTypeInterface[] $entity_types */
     $entity_types['date_format']->setFormClass('add', 'Drupal\system\Form\DateFormatAddForm')->setFormClass('edit', 'Drupal\system\Form\DateFormatEditForm')->setFormClass('delete', 'Drupal\system\Form\DateFormatDeleteForm')->setListBuilderClass('Drupal\system\DateFormatListBuilder')->setLinkTemplate('edit-form', '/admin/config/regional/date-time/formats/manage/{date_format}')->setLinkTemplate('delete-form', '/admin/config/regional/date-time/formats/manage/{date_format}/delete')->setLinkTemplate('collection', '/admin/config/regional/date-time/formats');
   }
diff --git a/core/modules/system/tests/modules/common_test/src/Hook/CommonTestHooks.php b/core/modules/system/tests/modules/common_test/src/Hook/CommonTestHooks.php
index 7ba457eaf87b0d46ef090738de01f8dcc02639ee..30b4d7e532291f6bdfcb8206d959804fd1feb250 100644
--- a/core/modules/system/tests/modules/common_test/src/Hook/CommonTestHooks.php
+++ b/core/modules/system/tests/modules/common_test/src/Hook/CommonTestHooks.php
@@ -54,7 +54,7 @@ public function drupalAlterAlter(&$data, &$arg2 = NULL, &$arg3 = NULL): void {
    * implementations are executed.
    */
   #[Hook('drupal_alter_foo_alter', module: 'block')]
-  public function blockDrupalAlterFooAlter(&$data, &$arg2 = NULL, &$arg3 = NULL) {
+  public function blockDrupalAlterFooAlter(&$data, &$arg2 = NULL, &$arg3 = NULL): void {
     $data['foo'] .= ' block';
   }
 
diff --git a/core/modules/system/tests/modules/entity_crud_hook_test/src/Hook/EntityCrudHookTestHooks.php b/core/modules/system/tests/modules/entity_crud_hook_test/src/Hook/EntityCrudHookTestHooks.php
index df236b8060a344899e145eccfcc87c8531bdd590..d0a162a0cfae4555061cff64f067cd27ff2127cc 100644
--- a/core/modules/system/tests/modules/entity_crud_hook_test/src/Hook/EntityCrudHookTestHooks.php
+++ b/core/modules/system/tests/modules/entity_crud_hook_test/src/Hook/EntityCrudHookTestHooks.php
@@ -208,7 +208,7 @@ public function userInsert() {
    * Implements hook_entity_preload().
    */
   #[Hook('entity_preload')]
-  public function entityPreload(array $entities, $type) {
+  public function entityPreload(array $entities, $type): void {
     $GLOBALS['entity_crud_hook_test'][] = 'entity_crud_hook_test_entity_preload' . ' called for type ' . $type;
   }
 
diff --git a/core/modules/system/tests/modules/entity_test_constraints/src/Hook/EntityTestConstraintsHooks.php b/core/modules/system/tests/modules/entity_test_constraints/src/Hook/EntityTestConstraintsHooks.php
index beaab922040e04b8f4011016f2c0d5a3fc60ea71..6c6cf5d061ee1c4c74156e75f65a7e8584d3ae61 100644
--- a/core/modules/system/tests/modules/entity_test_constraints/src/Hook/EntityTestConstraintsHooks.php
+++ b/core/modules/system/tests/modules/entity_test_constraints/src/Hook/EntityTestConstraintsHooks.php
@@ -15,7 +15,7 @@ class EntityTestConstraintsHooks {
    * Implements hook_entity_type_build().
    */
   #[Hook('entity_type_build')]
-  public function entityTypeBuild(array &$entity_types) {
+  public function entityTypeBuild(array &$entity_types): void {
     if ($extra = \Drupal::state()->get('entity_test_constraints.build')) {
       foreach ($extra as $id => $option) {
         $entity_types['entity_test_constraints']->addConstraint($id, $option);
diff --git a/core/modules/system/tests/modules/mail_html_test/src/Hook/MailHtmlTestHooks.php b/core/modules/system/tests/modules/mail_html_test/src/Hook/MailHtmlTestHooks.php
index ad762ccfe617bdaf668a112a2b13f53a65ff2559..76b53efaf99ae9102ad8c03f4f31ec18291bcea8 100644
--- a/core/modules/system/tests/modules/mail_html_test/src/Hook/MailHtmlTestHooks.php
+++ b/core/modules/system/tests/modules/mail_html_test/src/Hook/MailHtmlTestHooks.php
@@ -15,7 +15,7 @@ class MailHtmlTestHooks {
    * Implements hook_mail().
    */
   #[Hook('mail')]
-  public function mail($key, &$message, $params) {
+  public function mail($key, &$message, $params): void {
     switch ($key) {
       case 'render_from_message_param':
         $message['body'][] = \Drupal::service('renderer')->renderInIsolation($params['message']);
diff --git a/core/modules/system/tests/modules/session_test/src/Hook/SessionTestHooks.php b/core/modules/system/tests/modules/session_test/src/Hook/SessionTestHooks.php
index ab0cd6c59e1f3dec3b6210fa95ef48e74649b43d..8b55958de1d0c7cb1e14fe6dcfa5a35674a8c8cb 100644
--- a/core/modules/system/tests/modules/session_test/src/Hook/SessionTestHooks.php
+++ b/core/modules/system/tests/modules/session_test/src/Hook/SessionTestHooks.php
@@ -16,7 +16,7 @@ class SessionTestHooks {
    * Implements hook_user_login().
    */
   #[Hook('user_login')]
-  public function userLogin(UserInterface $account) {
+  public function userLogin(UserInterface $account): void {
     if ($account->getAccountName() == 'session_test_user') {
       // Exit so we can verify that the session was regenerated
       // before hook_user_login() was called.
diff --git a/core/modules/system/tests/modules/update_script_test/src/Hook/UpdateScriptTestHooks.php b/core/modules/system/tests/modules/update_script_test/src/Hook/UpdateScriptTestHooks.php
index d64945c99448df0963b1e0433644d8d7fd0945e7..230fb7b7e25bf3550515920e1e93c9044f70926b 100644
--- a/core/modules/system/tests/modules/update_script_test/src/Hook/UpdateScriptTestHooks.php
+++ b/core/modules/system/tests/modules/update_script_test/src/Hook/UpdateScriptTestHooks.php
@@ -21,7 +21,7 @@ class UpdateScriptTestHooks {
    * @see UpdateScriptFunctionalTest::testRequirements()
    */
   #[Hook('cache_flush')]
-  public function cacheFlush() {
+  public function cacheFlush(): void {
     \Drupal::messenger()->addStatus(t('hook_cache_flush() invoked for update_script_test.module.'));
   }
 
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_term_display_configurable_test/src/Hook/TaxonomyTermDisplayConfigurableTestHooks.php b/core/modules/taxonomy/tests/modules/taxonomy_term_display_configurable_test/src/Hook/TaxonomyTermDisplayConfigurableTestHooks.php
index f26a64ac2f47ac9e0b7490fde245f92ea7c42c01..45f2d821d0b6fee0e9d3a261a54b59fc041730fe 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_term_display_configurable_test/src/Hook/TaxonomyTermDisplayConfigurableTestHooks.php
+++ b/core/modules/taxonomy/tests/modules/taxonomy_term_display_configurable_test/src/Hook/TaxonomyTermDisplayConfigurableTestHooks.php
@@ -27,7 +27,7 @@ public function entityBaseFieldInfoAlter(&$base_field_definitions, EntityTypeInt
    * Implements hook_entity_type_build().
    */
   #[Hook('entity_type_build')]
-  public function entityTypeBuild(array &$entity_types) {
+  public function entityTypeBuild(array &$entity_types): void {
     // Allow skipping of extra preprocessing for configurable display.
     $entity_types['taxonomy_term']->set('enable_base_field_custom_preprocess_skipping', TRUE);
   }
diff --git a/core/modules/update/src/Hook/UpdateHooks.php b/core/modules/update/src/Hook/UpdateHooks.php
index ff4e75054b1e2141a7ca05d98a7cd5a1ed604a7b..2ef8804e29702aea3d976ba8f5980a4d9f5d9d09 100644
--- a/core/modules/update/src/Hook/UpdateHooks.php
+++ b/core/modules/update/src/Hook/UpdateHooks.php
@@ -249,7 +249,7 @@ public function modulesUninstalled($modules) {
    * @see \Drupal\update\UpdateManagerInterface
    */
   #[Hook('mail')]
-  public function mail($key, &$message, $params) {
+  public function mail($key, &$message, $params): void {
     $langcode = $message['langcode'];
     $language = \Drupal::languageManager()->getLanguage($langcode);
     $message['subject'] .= t('New release(s) available for @site_name', ['@site_name' => \Drupal::config('system.site')->get('name')], ['langcode' => $langcode]);
diff --git a/core/modules/user/src/Hook/UserHooks.php b/core/modules/user/src/Hook/UserHooks.php
index 000ebdb3baadf515f5d085b907846772bf90453d..d02acaa95482555b0353433e7fc2e9c2364dba98 100644
--- a/core/modules/user/src/Hook/UserHooks.php
+++ b/core/modules/user/src/Hook/UserHooks.php
@@ -222,7 +222,7 @@ public function templatePreprocessDefaultVariablesAlter(&$variables): void {
    * Implements hook_user_login().
    */
   #[Hook('user_login')]
-  public function userLogin(UserInterface $account) {
+  public function userLogin(UserInterface $account): void {
     // Reset static cache of default variables in template_preprocess() to reflect
     // the new user.
     drupal_static_reset('template_preprocess');
@@ -242,7 +242,7 @@ public function userLogin(UserInterface $account) {
    * Implements hook_user_logout().
    */
   #[Hook('user_logout')]
-  public function userLogout(AccountInterface $account) {
+  public function userLogout(AccountInterface $account): void {
     // Reset static cache of default variables in template_preprocess() to reflect
     // the new user.
     drupal_static_reset('template_preprocess');
@@ -252,7 +252,7 @@ public function userLogout(AccountInterface $account) {
    * Implements hook_mail().
    */
   #[Hook('mail')]
-  public function mail($key, &$message, $params) {
+  public function mail($key, &$message, $params): void {
     $token_service = \Drupal::token();
     $language_manager = \Drupal::languageManager();
     $langcode = $message['langcode'];
@@ -480,7 +480,7 @@ public function formSystemRegionalSettingsAlter(&$form, FormStateInterface $form
    * Implements hook_filter_format_disable().
    */
   #[Hook('filter_format_disable')]
-  public function filterFormatDisable(FilterFormatInterface $filter_format) {
+  public function filterFormatDisable(FilterFormatInterface $filter_format): void {
     // Remove the permission from any roles.
     $permission = $filter_format->getPermissionName();
     /** @var \Drupal\user\Entity\Role $role */
diff --git a/core/modules/user/user.api.php b/core/modules/user/user.api.php
index 13fc647dc7c611729964e07c6421c2842e5c24bb..5a03c36d896e272ecb2dfaaef7bc779bcf7ea0a0 100644
--- a/core/modules/user/user.api.php
+++ b/core/modules/user/user.api.php
@@ -39,7 +39,7 @@
  * @see user_cancel_methods()
  * @see hook_user_cancel_methods_alter()
  */
-function hook_user_cancel($edit, UserInterface $account, $method) {
+function hook_user_cancel($edit, UserInterface $account, $method): void {
   switch ($method) {
     case 'user_cancel_block_unpublish':
       // Unpublish nodes (current revisions).
@@ -146,7 +146,7 @@ function hook_user_format_name_alter(&$name, AccountInterface $account) {
  * @param \Drupal\user\UserInterface $account
  *   The user object on which the operation was just performed.
  */
-function hook_user_login(UserInterface $account) {
+function hook_user_login(UserInterface $account): void {
   $config = \Drupal::config('system.date');
   // If the user has a NULL time zone, notify them to set a time zone.
   if (!$account->getTimezone() && $config->get('timezone.user.configurable') && $config->get('timezone.user.warn')) {
@@ -167,7 +167,7 @@ function hook_user_login(UserInterface $account) {
  * @param \Drupal\Core\Session\AccountInterface $account
  *   The user object on which the operation was just performed.
  */
-function hook_user_logout(AccountInterface $account) {
+function hook_user_logout(AccountInterface $account): void {
   \Drupal::database()->insert('logouts')
     ->fields([
       'uid' => $account->id(),
diff --git a/core/modules/views/tests/modules/views_test_data/src/Hook/ViewsTestDataViewsHooks.php b/core/modules/views/tests/modules/views_test_data/src/Hook/ViewsTestDataViewsHooks.php
index 7dc8f0ed8578960b6ab30c5494defb8b36977c86..ce01a8db675f465c04b08c8e4a810b351395d1de 100644
--- a/core/modules/views/tests/modules/views_test_data/src/Hook/ViewsTestDataViewsHooks.php
+++ b/core/modules/views/tests/modules/views_test_data/src/Hook/ViewsTestDataViewsHooks.php
@@ -57,7 +57,7 @@ public function viewsAnalyze(ViewExecutable $view) {
    * Implements hook_views_invalidate_cache().
    */
   #[Hook('views_invalidate_cache')]
-  public function viewsInvalidateCache() {
+  public function viewsInvalidateCache(): void {
     \Drupal::state()->set('views_hook_test_views_invalidate_cache', TRUE);
   }
 
diff --git a/core/modules/views/views.api.php b/core/modules/views/views.api.php
index 334d45f1e1084bf43a71f95a2fa2d16a53c5629a..b8334471f338d3ed82054c37968e4a796c53b988 100644
--- a/core/modules/views/views.api.php
+++ b/core/modules/views/views.api.php
@@ -960,7 +960,7 @@ function hook_views_preview_info_alter(array &$rows, ViewExecutable $view) {
  *
  * @see views_invalidate_cache()
  */
-function hook_views_invalidate_cache() {
+function hook_views_invalidate_cache(): void {
   Cache::invalidateTags(['views']);
 }
 
diff --git a/core/modules/views_ui/src/Hook/ViewsUiHooks.php b/core/modules/views_ui/src/Hook/ViewsUiHooks.php
index 07239892a35a549ef5700358a2b161fd5e5c2823..45ad5f81a3c9ab2ee6c598ed27a3188b8a8265bc 100644
--- a/core/modules/views_ui/src/Hook/ViewsUiHooks.php
+++ b/core/modules/views_ui/src/Hook/ViewsUiHooks.php
@@ -60,7 +60,7 @@ public function help($route_name, RouteMatchInterface $route_match) {
    * Implements hook_entity_type_build().
    */
   #[Hook('entity_type_build')]
-  public function entityTypeBuild(array &$entity_types) {
+  public function entityTypeBuild(array &$entity_types): void {
     /** @var \Drupal\Core\Entity\EntityTypeInterface[] $entity_types */
     $entity_types['view']->setFormClass('edit', 'Drupal\views_ui\ViewEditForm')->setFormClass('add', 'Drupal\views_ui\ViewAddForm')->setFormClass('preview', 'Drupal\views_ui\ViewPreviewForm')->setFormClass('duplicate', 'Drupal\views_ui\ViewDuplicateForm')->setFormClass('delete', 'Drupal\Core\Entity\EntityDeleteForm')->setFormClass('break_lock', 'Drupal\views_ui\Form\BreakLockForm')->setListBuilderClass('Drupal\views_ui\ViewListBuilder')->setLinkTemplate('edit-form', '/admin/structure/views/view/{view}')->setLinkTemplate('edit-display-form', '/admin/structure/views/view/{view}/edit/{display_id}')->setLinkTemplate('preview-form', '/admin/structure/views/view/{view}/preview/{display_id}')->setLinkTemplate('duplicate-form', '/admin/structure/views/view/{view}/duplicate')->setLinkTemplate('delete-form', '/admin/structure/views/view/{view}/delete')->setLinkTemplate('enable', '/admin/structure/views/view/{view}/enable')->setLinkTemplate('disable', '/admin/structure/views/view/{view}/disable')->setLinkTemplate('break-lock-form', '/admin/structure/views/view/{view}/break-lock')->setLinkTemplate('collection', '/admin/structure/views');
   }
diff --git a/core/modules/workspaces/src/Hook/WorkspacesHooks.php b/core/modules/workspaces/src/Hook/WorkspacesHooks.php
index adcb10ffb241f08d791c568dd79c6b5fde6f6296..656ede3453cea7bc87fe3ba3df892110d6b39597 100644
--- a/core/modules/workspaces/src/Hook/WorkspacesHooks.php
+++ b/core/modules/workspaces/src/Hook/WorkspacesHooks.php
@@ -62,8 +62,8 @@ public function modulePreinstall($module) {
    * Implements hook_entity_type_build().
    */
   #[Hook('entity_type_build')]
-  public function entityTypeBuild(array &$entity_types) {
-    return \Drupal::service('class_resolver')->getInstanceFromDefinition(EntityTypeInfo::class)->entityTypeBuild($entity_types);
+  public function entityTypeBuild(array &$entity_types): void {
+    \Drupal::service('class_resolver')->getInstanceFromDefinition(EntityTypeInfo::class)->entityTypeBuild($entity_types);
   }
 
   /**