diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -1549,7 +1549,7 @@
     'PhabricatorDebugController' => 'applications/system/controller/PhabricatorDebugController.php',
     'PhabricatorDefaultFileStorageEngineSelector' => 'applications/files/engineselector/PhabricatorDefaultFileStorageEngineSelector.php',
     'PhabricatorDefaultSearchEngineSelector' => 'applications/search/selector/PhabricatorDefaultSearchEngineSelector.php',
-    'PhabricatorDestructableInterface' => 'applications/system/interface/PhabricatorDestructableInterface.php',
+    'PhabricatorDestructibleInterface' => 'applications/system/interface/PhabricatorDestructibleInterface.php',
     'PhabricatorDestructionEngine' => 'applications/system/engine/PhabricatorDestructionEngine.php',
     'PhabricatorDeveloperConfigOptions' => 'applications/config/option/PhabricatorDeveloperConfigOptions.php',
     'PhabricatorDifferenceEngine' => 'infrastructure/diff/PhabricatorDifferenceEngine.php',
@@ -2819,8 +2819,8 @@
     'AphrontTypeaheadTemplateView' => 'AphrontView',
     'AphrontUsageException' => 'AphrontException',
     'AphrontView' => array(
-      0 => 'Phobject',
-      1 => 'PhutilSafeHTMLProducerInterface',
+      'Phobject',
+      'PhutilSafeHTMLProducerInterface',
     ),
     'AphrontWebpageResponse' => 'AphrontHTMLResponse',
     'AuditActionMenuEventListener' => 'PhabricatorEventListener',
@@ -2836,8 +2836,8 @@
     'CelerityResourceTransformerTestCase' => 'PhabricatorTestCase',
     'CelerityResourcesOnDisk' => 'CelerityPhysicalResources',
     'ConduitAPIMethod' => array(
-      0 => 'Phobject',
-      1 => 'PhabricatorPolicyInterface',
+      'Phobject',
+      'PhabricatorPolicyInterface',
     ),
     'ConduitAPI_arcanist_Method' => 'ConduitAPIMethod',
     'ConduitAPI_arcanist_projectinfo_Method' => 'ConduitAPI_arcanist_Method',
@@ -3019,8 +3019,8 @@
     'ConpherenceReplyHandler' => 'PhabricatorMailReplyHandler',
     'ConpherenceSettings' => 'ConpherenceConstants',
     'ConpherenceThread' => array(
-      0 => 'ConpherenceDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'ConpherenceDAO',
+      'PhabricatorPolicyInterface',
     ),
     'ConpherenceThreadListView' => 'AphrontView',
     'ConpherenceThreadMailReceiver' => 'PhabricatorObjectMailReceiver',
@@ -3057,8 +3057,8 @@
     'DifferentialCapabilityDefaultView' => 'PhabricatorPolicyCapability',
     'DifferentialChangesSinceLastUpdateField' => 'DifferentialCustomField',
     'DifferentialChangeset' => array(
-      0 => 'DifferentialDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'DifferentialDAO',
+      'PhabricatorPolicyInterface',
     ),
     'DifferentialChangesetDetailView' => 'AphrontView',
     'DifferentialChangesetHTMLRenderer' => 'DifferentialChangesetRenderer',
@@ -3090,11 +3090,11 @@
     'DifferentialDependenciesField' => 'DifferentialCustomField',
     'DifferentialDependsOnField' => 'DifferentialCustomField',
     'DifferentialDiff' => array(
-      0 => 'DifferentialDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'HarbormasterBuildableInterface',
-      3 => 'PhabricatorApplicationTransactionInterface',
-      4 => 'PhabricatorDestructableInterface',
+      'DifferentialDAO',
+      'PhabricatorPolicyInterface',
+      'HarbormasterBuildableInterface',
+      'PhabricatorApplicationTransactionInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'DifferentialDiffCreateController' => 'DifferentialController',
     'DifferentialDiffProperty' => 'DifferentialDAO',
@@ -3111,8 +3111,8 @@
     'DifferentialHostField' => 'DifferentialCustomField',
     'DifferentialHovercardEventListener' => 'PhabricatorEventListener',
     'DifferentialHunk' => array(
-      0 => 'DifferentialDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'DifferentialDAO',
+      'PhabricatorPolicyInterface',
     ),
     'DifferentialHunkLegacy' => 'DifferentialHunk',
     'DifferentialHunkModern' => 'DifferentialHunk',
@@ -3153,17 +3153,17 @@
     'DifferentialReviewersField' => 'DifferentialCoreCustomField',
     'DifferentialReviewersView' => 'AphrontView',
     'DifferentialRevision' => array(
-      0 => 'DifferentialDAO',
-      1 => 'PhabricatorTokenReceiverInterface',
-      2 => 'PhabricatorPolicyInterface',
-      3 => 'PhabricatorFlaggableInterface',
-      4 => 'PhrequentTrackableInterface',
-      5 => 'HarbormasterBuildableInterface',
-      6 => 'PhabricatorSubscribableInterface',
-      7 => 'PhabricatorCustomFieldInterface',
-      8 => 'PhabricatorApplicationTransactionInterface',
-      9 => 'PhabricatorDestructableInterface',
-      10 => 'PhabricatorProjectInterface',
+      'DifferentialDAO',
+      'PhabricatorTokenReceiverInterface',
+      'PhabricatorPolicyInterface',
+      'PhabricatorFlaggableInterface',
+      'PhrequentTrackableInterface',
+      'HarbormasterBuildableInterface',
+      'PhabricatorSubscribableInterface',
+      'PhabricatorCustomFieldInterface',
+      'PhabricatorApplicationTransactionInterface',
+      'PhabricatorDestructibleInterface',
+      'PhabricatorProjectInterface',
     ),
     'DifferentialRevisionDetailView' => 'AphrontView',
     'DifferentialRevisionEditController' => 'DifferentialController',
@@ -3329,14 +3329,14 @@
     'DivinerGenerateWorkflow' => 'DivinerWorkflow',
     'DivinerLiveAtom' => 'DivinerDAO',
     'DivinerLiveBook' => array(
-      0 => 'DivinerDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'DivinerDAO',
+      'PhabricatorPolicyInterface',
     ),
     'DivinerLivePublisher' => 'DivinerPublisher',
     'DivinerLiveSymbol' => array(
-      0 => 'DivinerDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorMarkupInterface',
+      'DivinerDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorMarkupInterface',
     ),
     'DivinerMainController' => 'DivinerController',
     'DivinerPHIDTypeAtom' => 'PhabricatorPHIDType',
@@ -3355,8 +3355,8 @@
     'DoorkeeperBridgeJIRATestCase' => 'PhabricatorTestCase',
     'DoorkeeperDAO' => 'PhabricatorLiskDAO',
     'DoorkeeperExternalObject' => array(
-      0 => 'DoorkeeperDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'DoorkeeperDAO',
+      'PhabricatorPolicyInterface',
     ),
     'DoorkeeperExternalObjectQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'DoorkeeperFeedWorker' => 'FeedPushWorker',
@@ -3373,8 +3373,8 @@
     'DrydockAllocatorWorker' => 'PhabricatorWorker',
     'DrydockApacheWebrootInterface' => 'DrydockWebrootInterface',
     'DrydockBlueprint' => array(
-      0 => 'DrydockDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'DrydockDAO',
+      'PhabricatorPolicyInterface',
     ),
     'DrydockBlueprintController' => 'DrydockController',
     'DrydockBlueprintCreateController' => 'DrydockBlueprintController',
@@ -3395,8 +3395,8 @@
     'DrydockDAO' => 'PhabricatorLiskDAO',
     'DrydockFilesystemInterface' => 'DrydockInterface',
     'DrydockLease' => array(
-      0 => 'DrydockDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'DrydockDAO',
+      'PhabricatorPolicyInterface',
     ),
     'DrydockLeaseController' => 'DrydockController',
     'DrydockLeaseListController' => 'DrydockLeaseController',
@@ -3409,8 +3409,8 @@
     'DrydockLocalCommandInterface' => 'DrydockCommandInterface',
     'DrydockLocalHostBlueprintImplementation' => 'DrydockBlueprintImplementation',
     'DrydockLog' => array(
-      0 => 'DrydockDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'DrydockDAO',
+      'PhabricatorPolicyInterface',
     ),
     'DrydockLogController' => 'DrydockController',
     'DrydockLogListController' => 'DrydockLogController',
@@ -3428,8 +3428,8 @@
     'DrydockPreallocatedHostBlueprintImplementation' => 'DrydockBlueprintImplementation',
     'DrydockQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'DrydockResource' => array(
-      0 => 'DrydockDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'DrydockDAO',
+      'PhabricatorPolicyInterface',
     ),
     'DrydockResourceCloseController' => 'DrydockResourceController',
     'DrydockResourceController' => 'DrydockController',
@@ -3450,13 +3450,13 @@
     'FileMailReceiver' => 'PhabricatorObjectMailReceiver',
     'FileReplyHandler' => 'PhabricatorMailReplyHandler',
     'HarbormasterBuild' => array(
-      0 => 'HarbormasterDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'HarbormasterDAO',
+      'PhabricatorPolicyInterface',
     ),
     'HarbormasterBuildActionController' => 'HarbormasterController',
     'HarbormasterBuildArtifact' => array(
-      0 => 'HarbormasterDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'HarbormasterDAO',
+      'PhabricatorPolicyInterface',
     ),
     'HarbormasterBuildArtifactQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'HarbormasterBuildCommand' => 'HarbormasterDAO',
@@ -3464,19 +3464,19 @@
     'HarbormasterBuildItem' => 'HarbormasterDAO',
     'HarbormasterBuildItemQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'HarbormasterBuildLog' => array(
-      0 => 'HarbormasterDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'HarbormasterDAO',
+      'PhabricatorPolicyInterface',
     ),
     'HarbormasterBuildLogQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'HarbormasterBuildMessage' => array(
-      0 => 'HarbormasterDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'HarbormasterDAO',
+      'PhabricatorPolicyInterface',
     ),
     'HarbormasterBuildMessageQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'HarbormasterBuildPlan' => array(
-      0 => 'HarbormasterDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorSubscribableInterface',
+      'HarbormasterDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorSubscribableInterface',
     ),
     'HarbormasterBuildPlanDatasource' => 'PhabricatorTypeaheadDatasource',
     'HarbormasterBuildPlanEditor' => 'PhabricatorApplicationTransactionEditor',
@@ -3487,13 +3487,13 @@
     'HarbormasterBuildPlanTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
     'HarbormasterBuildQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'HarbormasterBuildStep' => array(
-      0 => 'HarbormasterDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorCustomFieldInterface',
+      'HarbormasterDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorCustomFieldInterface',
     ),
     'HarbormasterBuildStepCoreCustomField' => array(
-      0 => 'HarbormasterBuildStepCustomField',
-      1 => 'PhabricatorStandardCustomFieldInterface',
+      'HarbormasterBuildStepCustomField',
+      'PhabricatorStandardCustomFieldInterface',
     ),
     'HarbormasterBuildStepCustomField' => 'PhabricatorCustomField',
     'HarbormasterBuildStepEditor' => 'PhabricatorApplicationTransactionEditor',
@@ -3501,8 +3501,8 @@
     'HarbormasterBuildStepTransaction' => 'PhabricatorApplicationTransaction',
     'HarbormasterBuildStepTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
     'HarbormasterBuildTarget' => array(
-      0 => 'HarbormasterDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'HarbormasterDAO',
+      'PhabricatorPolicyInterface',
     ),
     'HarbormasterBuildTargetQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'HarbormasterBuildTransaction' => 'PhabricatorApplicationTransaction',
@@ -3511,9 +3511,9 @@
     'HarbormasterBuildViewController' => 'HarbormasterController',
     'HarbormasterBuildWorker' => 'HarbormasterWorker',
     'HarbormasterBuildable' => array(
-      0 => 'HarbormasterDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'HarbormasterBuildableInterface',
+      'HarbormasterDAO',
+      'PhabricatorPolicyInterface',
+      'HarbormasterBuildableInterface',
     ),
     'HarbormasterBuildableActionController' => 'HarbormasterController',
     'HarbormasterBuildableListController' => 'HarbormasterController',
@@ -3583,10 +3583,10 @@
     'HeraldRecursiveConditionsException' => 'Exception',
     'HeraldRemarkupRule' => 'PhabricatorRemarkupRuleObject',
     'HeraldRule' => array(
-      0 => 'HeraldDAO',
-      1 => 'PhabricatorFlaggableInterface',
-      2 => 'PhabricatorPolicyInterface',
-      3 => 'PhabricatorDestructableInterface',
+      'HeraldDAO',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorPolicyInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'HeraldRuleController' => 'HeraldController',
     'HeraldRuleEdit' => 'HeraldDAO',
@@ -3602,8 +3602,8 @@
     'HeraldTestConsoleController' => 'HeraldController',
     'HeraldTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
     'HeraldTranscript' => array(
-      0 => 'HeraldDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'HeraldDAO',
+      'PhabricatorPolicyInterface',
     ),
     'HeraldTranscriptController' => 'HeraldController',
     'HeraldTranscriptGarbageCollector' => 'PhabricatorGarbageCollector',
@@ -3621,15 +3621,15 @@
     'LegalpadController' => 'PhabricatorController',
     'LegalpadDAO' => 'PhabricatorLiskDAO',
     'LegalpadDocument' => array(
-      0 => 'LegalpadDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorSubscribableInterface',
-      3 => 'PhabricatorApplicationTransactionInterface',
-      4 => 'PhabricatorDestructableInterface',
+      'LegalpadDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorSubscribableInterface',
+      'PhabricatorApplicationTransactionInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'LegalpadDocumentBody' => array(
-      0 => 'LegalpadDAO',
-      1 => 'PhabricatorMarkupInterface',
+      'LegalpadDAO',
+      'PhabricatorMarkupInterface',
     ),
     'LegalpadDocumentCommentController' => 'LegalpadController',
     'LegalpadDocumentDatasource' => 'PhabricatorTypeaheadDatasource',
@@ -3643,8 +3643,8 @@
     'LegalpadDocumentSearchEngine' => 'PhabricatorApplicationSearchEngine',
     'LegalpadDocumentSignController' => 'LegalpadController',
     'LegalpadDocumentSignature' => array(
-      0 => 'LegalpadDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'LegalpadDAO',
+      'PhabricatorPolicyInterface',
     ),
     'LegalpadDocumentSignatureAddController' => 'LegalpadController',
     'LegalpadDocumentSignatureListController' => 'LegalpadController',
@@ -3679,8 +3679,8 @@
     'ManiphestCapabilityEditProjects' => 'PhabricatorPolicyCapability',
     'ManiphestCapabilityEditStatus' => 'PhabricatorPolicyCapability',
     'ManiphestConfiguredCustomField' => array(
-      0 => 'ManiphestCustomField',
-      1 => 'PhabricatorStandardCustomFieldInterface',
+      'ManiphestCustomField',
+      'PhabricatorStandardCustomFieldInterface',
     ),
     'ManiphestController' => 'PhabricatorController',
     'ManiphestCreateMailReceiver' => 'PhabricatorMailReceiver',
@@ -3705,15 +3705,15 @@
     'ManiphestSubpriorityController' => 'ManiphestController',
     'ManiphestSubscribeController' => 'ManiphestController',
     'ManiphestTask' => array(
-      0 => 'ManiphestDAO',
-      1 => 'PhabricatorMarkupInterface',
-      2 => 'PhabricatorPolicyInterface',
-      3 => 'PhabricatorTokenReceiverInterface',
-      4 => 'PhabricatorFlaggableInterface',
-      5 => 'PhrequentTrackableInterface',
-      6 => 'PhabricatorCustomFieldInterface',
-      7 => 'PhabricatorDestructableInterface',
-      8 => 'PhabricatorApplicationTransactionInterface',
+      'ManiphestDAO',
+      'PhabricatorMarkupInterface',
+      'PhabricatorPolicyInterface',
+      'PhabricatorTokenReceiverInterface',
+      'PhabricatorFlaggableInterface',
+      'PhrequentTrackableInterface',
+      'PhabricatorCustomFieldInterface',
+      'PhabricatorDestructibleInterface',
+      'PhabricatorApplicationTransactionInterface',
     ),
     'ManiphestTaskDescriptionPreviewController' => 'ManiphestController',
     'ManiphestTaskDetailController' => 'ManiphestController',
@@ -3749,8 +3749,8 @@
     'NuanceController' => 'PhabricatorController',
     'NuanceDAO' => 'PhabricatorLiskDAO',
     'NuanceItem' => array(
-      0 => 'NuanceDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'NuanceDAO',
+      'PhabricatorPolicyInterface',
     ),
     'NuanceItemEditController' => 'NuanceController',
     'NuanceItemEditor' => 'PhabricatorApplicationTransactionEditor',
@@ -3766,8 +3766,8 @@
     'NuancePhabricatorFormSourceDefinition' => 'NuanceSourceDefinition',
     'NuanceQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'NuanceQueue' => array(
-      0 => 'NuanceDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'NuanceDAO',
+      'PhabricatorPolicyInterface',
     ),
     'NuanceQueueEditController' => 'NuanceController',
     'NuanceQueueEditor' => 'PhabricatorApplicationTransactionEditor',
@@ -3787,8 +3787,8 @@
     'NuanceRequestorTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
     'NuanceRequestorViewController' => 'NuanceController',
     'NuanceSource' => array(
-      0 => 'NuanceDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'NuanceDAO',
+      'PhabricatorPolicyInterface',
     ),
     'NuanceSourceDefinition' => 'Phobject',
     'NuanceSourceEditController' => 'NuanceController',
@@ -3862,8 +3862,8 @@
     'PassphraseAbstractKey' => 'Phobject',
     'PassphraseController' => 'PhabricatorController',
     'PassphraseCredential' => array(
-      0 => 'PassphraseDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PassphraseDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PassphraseCredentialControl' => 'AphrontFormControl',
     'PassphraseCredentialCreateController' => 'PassphraseController',
@@ -3985,15 +3985,15 @@
     'PhabricatorApplicationTest' => 'PhabricatorApplication',
     'PhabricatorApplicationTokens' => 'PhabricatorApplication',
     'PhabricatorApplicationTransaction' => array(
-      0 => 'PhabricatorLiskDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorDestructableInterface',
+      'PhabricatorLiskDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'PhabricatorApplicationTransactionComment' => array(
-      0 => 'PhabricatorLiskDAO',
-      1 => 'PhabricatorMarkupInterface',
-      2 => 'PhabricatorPolicyInterface',
-      3 => 'PhabricatorDestructableInterface',
+      'PhabricatorLiskDAO',
+      'PhabricatorMarkupInterface',
+      'PhabricatorPolicyInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'PhabricatorApplicationTransactionCommentEditController' => 'PhabricatorApplicationTransactionController',
     'PhabricatorApplicationTransactionCommentEditor' => 'PhabricatorEditor',
@@ -4027,15 +4027,15 @@
     'PhabricatorAsanaConfigOptions' => 'PhabricatorApplicationConfigOptions',
     'PhabricatorAuditAddCommentController' => 'PhabricatorAuditController',
     'PhabricatorAuditComment' => array(
-      0 => 'PhabricatorAuditDAO',
-      1 => 'PhabricatorMarkupInterface',
+      'PhabricatorAuditDAO',
+      'PhabricatorMarkupInterface',
     ),
     'PhabricatorAuditCommentEditor' => 'PhabricatorEditor',
     'PhabricatorAuditController' => 'PhabricatorController',
     'PhabricatorAuditDAO' => 'PhabricatorLiskDAO',
     'PhabricatorAuditInlineComment' => array(
-      0 => 'PhabricatorAuditDAO',
-      1 => 'PhabricatorInlineCommentInterface',
+      'PhabricatorAuditDAO',
+      'PhabricatorInlineCommentInterface',
     ),
     'PhabricatorAuditListController' => 'PhabricatorAuditController',
     'PhabricatorAuditListView' => 'AphrontView',
@@ -4073,8 +4073,8 @@
     'PhabricatorAuthOneTimeLoginController' => 'PhabricatorAuthController',
     'PhabricatorAuthPHIDTypeAuthFactor' => 'PhabricatorPHIDType',
     'PhabricatorAuthProviderConfig' => array(
-      0 => 'PhabricatorAuthDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorAuthDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorAuthProviderConfigController' => 'PhabricatorAuthController',
     'PhabricatorAuthProviderConfigEditor' => 'PhabricatorApplicationTransactionEditor',
@@ -4100,16 +4100,16 @@
     'PhabricatorAuthProviderPersona' => 'PhabricatorAuthProvider',
     'PhabricatorAuthRegisterController' => 'PhabricatorAuthController',
     'PhabricatorAuthSession' => array(
-      0 => 'PhabricatorAuthDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorAuthDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorAuthSessionEngine' => 'Phobject',
     'PhabricatorAuthSessionGarbageCollector' => 'PhabricatorGarbageCollector',
     'PhabricatorAuthSessionQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorAuthStartController' => 'PhabricatorAuthController',
     'PhabricatorAuthTemporaryToken' => array(
-      0 => 'PhabricatorAuthDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorAuthDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorAuthTemporaryTokenGarbageCollector' => 'PhabricatorGarbageCollector',
     'PhabricatorAuthTemporaryTokenQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
@@ -4147,8 +4147,8 @@
     'PhabricatorCalendarController' => 'PhabricatorController',
     'PhabricatorCalendarDAO' => 'PhabricatorLiskDAO',
     'PhabricatorCalendarEvent' => array(
-      0 => 'PhabricatorCalendarDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorCalendarDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorCalendarEventDeleteController' => 'PhabricatorCalendarController',
     'PhabricatorCalendarEventEditController' => 'PhabricatorCalendarController',
@@ -4165,8 +4165,8 @@
     'PhabricatorChangeParserTestCase' => 'PhabricatorWorkingCopyTestCase',
     'PhabricatorChangesetResponse' => 'AphrontProxyResponse',
     'PhabricatorChatLogChannel' => array(
-      0 => 'PhabricatorChatLogDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorChatLogDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorChatLogChannelListController' => 'PhabricatorChatLogController',
     'PhabricatorChatLogChannelLogController' => 'PhabricatorChatLogController',
@@ -4174,8 +4174,8 @@
     'PhabricatorChatLogController' => 'PhabricatorController',
     'PhabricatorChatLogDAO' => 'PhabricatorLiskDAO',
     'PhabricatorChatLogEvent' => array(
-      0 => 'PhabricatorChatLogDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorChatLogDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorChatLogEventType' => 'PhabricatorChatLogConstants',
     'PhabricatorChatLogQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
@@ -4195,8 +4195,8 @@
     'PhabricatorConduitLogController' => 'PhabricatorConduitController',
     'PhabricatorConduitLogQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorConduitMethodCallLog' => array(
-      0 => 'PhabricatorConduitDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorConduitDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorConduitMethodQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorConduitSearchEngine' => 'PhabricatorApplicationSearchEngine',
@@ -4209,8 +4209,8 @@
     'PhabricatorConfigEditController' => 'PhabricatorConfigController',
     'PhabricatorConfigEditor' => 'PhabricatorApplicationTransactionEditor',
     'PhabricatorConfigEntry' => array(
-      0 => 'PhabricatorConfigEntryDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorConfigEntryDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorConfigEntryDAO' => 'PhabricatorLiskDAO',
     'PhabricatorConfigEntryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
@@ -4228,8 +4228,8 @@
     'PhabricatorConfigManagementSetWorkflow' => 'PhabricatorConfigManagementWorkflow',
     'PhabricatorConfigManagementWorkflow' => 'PhabricatorManagementWorkflow',
     'PhabricatorConfigOption' => array(
-      0 => 'Phobject',
-      1 => 'PhabricatorMarkupInterface',
+      'Phobject',
+      'PhabricatorMarkupInterface',
     ),
     'PhabricatorConfigPHIDTypeConfig' => 'PhabricatorPHIDType',
     'PhabricatorConfigProxySource' => 'PhabricatorConfigSource',
@@ -4245,8 +4245,8 @@
     'PhabricatorCookies' => 'Phobject',
     'PhabricatorCoreConfigOptions' => 'PhabricatorApplicationConfigOptions',
     'PhabricatorCountdown' => array(
-      0 => 'PhabricatorCountdownDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorCountdownDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorCountdownCapabilityDefaultView' => 'PhabricatorPolicyCapability',
     'PhabricatorCountdownController' => 'PhabricatorController',
@@ -4281,8 +4281,8 @@
     'PhabricatorDaemonDAO' => 'PhabricatorLiskDAO',
     'PhabricatorDaemonEventListener' => 'PhabricatorEventListener',
     'PhabricatorDaemonLog' => array(
-      0 => 'PhabricatorDaemonDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorDaemonDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorDaemonLogEvent' => 'PhabricatorDaemonDAO',
     'PhabricatorDaemonLogEventGarbageCollector' => 'PhabricatorGarbageCollector',
@@ -4304,8 +4304,8 @@
     'PhabricatorDaemonManagementWorkflow' => 'PhabricatorManagementWorkflow',
     'PhabricatorDaemonTaskGarbageCollector' => 'PhabricatorGarbageCollector',
     'PhabricatorDashboard' => array(
-      0 => 'PhabricatorDashboardDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorDashboardDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorDashboardAddPanelController' => 'PhabricatorDashboardController',
     'PhabricatorDashboardController' => 'PhabricatorController',
@@ -4321,14 +4321,14 @@
     'PhabricatorDashboardPHIDTypeDashboard' => 'PhabricatorPHIDType',
     'PhabricatorDashboardPHIDTypePanel' => 'PhabricatorPHIDType',
     'PhabricatorDashboardPanel' => array(
-      0 => 'PhabricatorDashboardDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorCustomFieldInterface',
+      'PhabricatorDashboardDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorCustomFieldInterface',
     ),
     'PhabricatorDashboardPanelArchiveController' => 'PhabricatorDashboardController',
     'PhabricatorDashboardPanelCoreCustomField' => array(
-      0 => 'PhabricatorDashboardPanelCustomField',
-      1 => 'PhabricatorStandardCustomFieldInterface',
+      'PhabricatorDashboardPanelCustomField',
+      'PhabricatorStandardCustomFieldInterface',
     ),
     'PhabricatorDashboardPanelCustomField' => 'PhabricatorCustomField',
     'PhabricatorDashboardPanelEditController' => 'PhabricatorDashboardController',
@@ -4391,8 +4391,8 @@
     'PhabricatorExampleEventListener' => 'PhabricatorEventListener',
     'PhabricatorExtendingPhabricatorConfigOptions' => 'PhabricatorApplicationConfigOptions',
     'PhabricatorExternalAccount' => array(
-      0 => 'PhabricatorUserDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorUserDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorExternalAccountQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorFactAggregate' => 'PhabricatorFactDAO',
@@ -4437,11 +4437,11 @@
     'PhabricatorFeedStoryStatus' => 'PhabricatorFeedStory',
     'PhabricatorFeedStoryTypeConstants' => 'PhabricatorFeedConstants',
     'PhabricatorFile' => array(
-      0 => 'PhabricatorFileDAO',
-      1 => 'PhabricatorTokenReceiverInterface',
-      2 => 'PhabricatorSubscribableInterface',
-      3 => 'PhabricatorFlaggableInterface',
-      4 => 'PhabricatorPolicyInterface',
+      'PhabricatorFileDAO',
+      'PhabricatorTokenReceiverInterface',
+      'PhabricatorSubscribableInterface',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorFileCommentController' => 'PhabricatorFileController',
     'PhabricatorFileComposeController' => 'PhabricatorFileController',
@@ -4452,11 +4452,11 @@
     'PhabricatorFileDropUploadController' => 'PhabricatorFileController',
     'PhabricatorFileEditor' => 'PhabricatorApplicationTransactionEditor',
     'PhabricatorFileImageMacro' => array(
-      0 => 'PhabricatorFileDAO',
-      1 => 'PhabricatorSubscribableInterface',
-      2 => 'PhabricatorApplicationTransactionInterface',
-      3 => 'PhabricatorFlaggableInterface',
-      4 => 'PhabricatorPolicyInterface',
+      'PhabricatorFileDAO',
+      'PhabricatorSubscribableInterface',
+      'PhabricatorApplicationTransactionInterface',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorFileInfoController' => 'PhabricatorFileController',
     'PhabricatorFileLinkListView' => 'AphrontView',
@@ -4485,8 +4485,8 @@
     'PhabricatorFilesManagementRebuildWorkflow' => 'PhabricatorFilesManagementWorkflow',
     'PhabricatorFilesManagementWorkflow' => 'PhabricatorManagementWorkflow',
     'PhabricatorFlag' => array(
-      0 => 'PhabricatorFlagDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorFlagDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorFlagColor' => 'PhabricatorFlagConstants',
     'PhabricatorFlagController' => 'PhabricatorController',
@@ -4608,9 +4608,9 @@
     'PhabricatorMetaMTAMailableDatasource' => 'PhabricatorTypeaheadCompositeDatasource',
     'PhabricatorMetaMTAMailgunReceiveController' => 'PhabricatorMetaMTAController',
     'PhabricatorMetaMTAMailingList' => array(
-      0 => 'PhabricatorMetaMTADAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorDestructableInterface',
+      'PhabricatorMetaMTADAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'PhabricatorMetaMTAMemberQuery' => 'PhabricatorQuery',
     'PhabricatorMetaMTAPermanentFailureException' => 'Exception',
@@ -4624,8 +4624,8 @@
     'PhabricatorMySQLConfigOptions' => 'PhabricatorApplicationConfigOptions',
     'PhabricatorMySQLFileStorageEngine' => 'PhabricatorFileStorageEngine',
     'PhabricatorNamedQuery' => array(
-      0 => 'PhabricatorSearchDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorSearchDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorNamedQueryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorNotificationAdHocFeedStory' => 'PhabricatorFeedStory',
@@ -4640,8 +4640,8 @@
     'PhabricatorNotificationStatusView' => 'AphrontTagView',
     'PhabricatorNotificationTestController' => 'PhabricatorNotificationController',
     'PhabricatorOAuthClientAuthorization' => array(
-      0 => 'PhabricatorOAuthServerDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorOAuthServerDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorOAuthClientAuthorizationQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorOAuthClientBaseController' => 'PhabricatorOAuthServerController',
@@ -4656,8 +4656,8 @@
     'PhabricatorOAuthServerAuthorizationsSettingsPanel' => 'PhabricatorSettingsPanel',
     'PhabricatorOAuthServerCapabilityCreateClients' => 'PhabricatorPolicyCapability',
     'PhabricatorOAuthServerClient' => array(
-      0 => 'PhabricatorOAuthServerDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorOAuthServerDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorOAuthServerClientQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorOAuthServerClientSearchEngine' => 'PhabricatorApplicationSearchEngine',
@@ -4685,8 +4685,8 @@
     'PhabricatorOwnersOwner' => 'PhabricatorOwnersDAO',
     'PhabricatorOwnersPHIDTypePackage' => 'PhabricatorPHIDType',
     'PhabricatorOwnersPackage' => array(
-      0 => 'PhabricatorOwnersDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorOwnersDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorOwnersPackageDatasource' => 'PhabricatorTypeaheadDatasource',
     'PhabricatorOwnersPackageQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
@@ -4699,12 +4699,12 @@
     'PhabricatorPasswordHasherTestCase' => 'PhabricatorTestCase',
     'PhabricatorPasswordHasherUnavailableException' => 'Exception',
     'PhabricatorPaste' => array(
-      0 => 'PhabricatorPasteDAO',
-      1 => 'PhabricatorSubscribableInterface',
-      2 => 'PhabricatorTokenReceiverInterface',
-      3 => 'PhabricatorFlaggableInterface',
-      4 => 'PhabricatorPolicyInterface',
-      5 => 'PhabricatorProjectInterface',
+      'PhabricatorPasteDAO',
+      'PhabricatorSubscribableInterface',
+      'PhabricatorTokenReceiverInterface',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorPolicyInterface',
+      'PhabricatorProjectInterface',
     ),
     'PhabricatorPasteCommentController' => 'PhabricatorPasteController',
     'PhabricatorPasteConfigOptions' => 'PhabricatorApplicationConfigOptions',
@@ -4757,8 +4757,8 @@
     'PhabricatorPhrictionConfigOptions' => 'PhabricatorApplicationConfigOptions',
     'PhabricatorPolicies' => 'PhabricatorPolicyConstants',
     'PhabricatorPolicy' => array(
-      0 => 'PhabricatorPolicyDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorPolicyDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorPolicyAwareQuery' => 'PhabricatorOffsetPagedQuery',
     'PhabricatorPolicyAwareTestQuery' => 'PhabricatorPolicyAwareQuery',
@@ -4788,12 +4788,12 @@
     'PhabricatorPolicyTestObject' => 'PhabricatorPolicyInterface',
     'PhabricatorPolicyType' => 'PhabricatorPolicyConstants',
     'PhabricatorProject' => array(
-      0 => 'PhabricatorProjectDAO',
-      1 => 'PhabricatorFlaggableInterface',
-      2 => 'PhabricatorPolicyInterface',
-      3 => 'PhabricatorSubscribableInterface',
-      4 => 'PhabricatorCustomFieldInterface',
-      5 => 'PhabricatorDestructableInterface',
+      'PhabricatorProjectDAO',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorPolicyInterface',
+      'PhabricatorSubscribableInterface',
+      'PhabricatorCustomFieldInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'PhabricatorProjectArchiveController' => 'PhabricatorProjectController',
     'PhabricatorProjectBoardController' => 'PhabricatorProjectController',
@@ -4802,9 +4802,9 @@
     'PhabricatorProjectBoardReorderController' => 'PhabricatorProjectBoardController',
     'PhabricatorProjectBoardViewController' => 'PhabricatorProjectBoardController',
     'PhabricatorProjectColumn' => array(
-      0 => 'PhabricatorProjectDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorDestructableInterface',
+      'PhabricatorProjectDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'PhabricatorProjectColumnDetailController' => 'PhabricatorProjectBoardController',
     'PhabricatorProjectColumnQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
@@ -4813,8 +4813,8 @@
     'PhabricatorProjectColumnTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
     'PhabricatorProjectConfigOptions' => 'PhabricatorApplicationConfigOptions',
     'PhabricatorProjectConfiguredCustomField' => array(
-      0 => 'PhabricatorProjectStandardCustomField',
-      1 => 'PhabricatorStandardCustomFieldInterface',
+      'PhabricatorProjectStandardCustomField',
+      'PhabricatorStandardCustomFieldInterface',
     ),
     'PhabricatorProjectController' => 'PhabricatorController',
     'PhabricatorProjectCreateController' => 'PhabricatorProjectController',
@@ -4847,8 +4847,8 @@
     'PhabricatorProjectSearchIndexer' => 'PhabricatorSearchDocumentIndexer',
     'PhabricatorProjectSlug' => 'PhabricatorProjectDAO',
     'PhabricatorProjectStandardCustomField' => array(
-      0 => 'PhabricatorProjectCustomField',
-      1 => 'PhabricatorStandardCustomFieldInterface',
+      'PhabricatorProjectCustomField',
+      'PhabricatorStandardCustomFieldInterface',
     ),
     'PhabricatorProjectTestDataGenerator' => 'PhabricatorTestDataGenerator',
     'PhabricatorProjectTransaction' => 'PhabricatorApplicationTransaction',
@@ -4876,33 +4876,33 @@
     'PhabricatorRemarkupRuleObject' => 'PhutilRemarkupRule',
     'PhabricatorRemarkupRuleYoutube' => 'PhutilRemarkupRule',
     'PhabricatorRepository' => array(
-      0 => 'PhabricatorRepositoryDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorFlaggableInterface',
-      3 => 'PhabricatorMarkupInterface',
-      4 => 'PhabricatorDestructableInterface',
-      5 => 'PhabricatorProjectInterface',
+      'PhabricatorRepositoryDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorMarkupInterface',
+      'PhabricatorDestructibleInterface',
+      'PhabricatorProjectInterface',
     ),
     'PhabricatorRepositoryArcanistProject' => array(
-      0 => 'PhabricatorRepositoryDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorDestructableInterface',
+      'PhabricatorRepositoryDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'PhabricatorRepositoryArcanistProjectDeleteController' => 'PhabricatorRepositoryController',
     'PhabricatorRepositoryArcanistProjectEditController' => 'PhabricatorRepositoryController',
     'PhabricatorRepositoryArcanistProjectQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorRepositoryAuditRequest' => array(
-      0 => 'PhabricatorRepositoryDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorRepositoryDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorRepositoryBranch' => 'PhabricatorRepositoryDAO',
     'PhabricatorRepositoryCommit' => array(
-      0 => 'PhabricatorRepositoryDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorFlaggableInterface',
-      3 => 'PhabricatorTokenReceiverInterface',
-      4 => 'HarbormasterBuildableInterface',
-      5 => 'PhabricatorCustomFieldInterface',
+      'PhabricatorRepositoryDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorTokenReceiverInterface',
+      'HarbormasterBuildableInterface',
+      'PhabricatorCustomFieldInterface',
     ),
     'PhabricatorRepositoryCommitChangeParserWorker' => 'PhabricatorRepositoryCommitParserWorker',
     'PhabricatorRepositoryCommitData' => 'PhabricatorRepositoryDAO',
@@ -4936,8 +4936,8 @@
     'PhabricatorRepositoryMercurialCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
     'PhabricatorRepositoryMercurialCommitMessageParserWorker' => 'PhabricatorRepositoryCommitMessageParserWorker',
     'PhabricatorRepositoryMirror' => array(
-      0 => 'PhabricatorRepositoryDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorRepositoryDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorRepositoryMirrorEngine' => 'PhabricatorRepositoryEngine',
     'PhabricatorRepositoryMirrorQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
@@ -4951,13 +4951,13 @@
     'PhabricatorRepositoryPullEngine' => 'PhabricatorRepositoryEngine',
     'PhabricatorRepositoryPullLocalDaemon' => 'PhabricatorDaemon',
     'PhabricatorRepositoryPushEvent' => array(
-      0 => 'PhabricatorRepositoryDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorRepositoryDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorRepositoryPushEventQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorRepositoryPushLog' => array(
-      0 => 'PhabricatorRepositoryDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorRepositoryDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorRepositoryPushLogQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorRepositoryPushLogSearchEngine' => 'PhabricatorApplicationSearchEngine',
@@ -4965,8 +4965,8 @@
     'PhabricatorRepositoryPushReplyHandler' => 'PhabricatorMailReplyHandler',
     'PhabricatorRepositoryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorRepositoryRefCursor' => array(
-      0 => 'PhabricatorRepositoryDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorRepositoryDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorRepositoryRefCursorQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorRepositoryRefEngine' => 'PhabricatorRepositoryEngine',
@@ -5001,8 +5001,8 @@
     'PhabricatorSSHPassthruCommand' => 'Phobject',
     'PhabricatorSSHWorkflow' => 'PhabricatorManagementWorkflow',
     'PhabricatorSavedQuery' => array(
-      0 => 'PhabricatorSearchDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorSearchDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorSavedQueryQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhabricatorSearchApplicationSearchEngine' => 'PhabricatorApplicationSearchEngine',
@@ -5085,12 +5085,12 @@
     'PhabricatorSlowvoteOption' => 'PhabricatorSlowvoteDAO',
     'PhabricatorSlowvotePHIDTypePoll' => 'PhabricatorPHIDType',
     'PhabricatorSlowvotePoll' => array(
-      0 => 'PhabricatorSlowvoteDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorSubscribableInterface',
-      3 => 'PhabricatorFlaggableInterface',
-      4 => 'PhabricatorTokenReceiverInterface',
-      5 => 'PhabricatorProjectInterface',
+      'PhabricatorSlowvoteDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorSubscribableInterface',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorTokenReceiverInterface',
+      'PhabricatorProjectInterface',
     ),
     'PhabricatorSlowvotePollController' => 'PhabricatorSlowvoteController',
     'PhabricatorSlowvoteQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
@@ -5149,8 +5149,8 @@
     'PhabricatorTestWorker' => 'PhabricatorWorker',
     'PhabricatorTimeTestCase' => 'PhabricatorTestCase',
     'PhabricatorToken' => array(
-      0 => 'PhabricatorTokenDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorTokenDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorTokenController' => 'PhabricatorController',
     'PhabricatorTokenCount' => 'PhabricatorTokenDAO',
@@ -5158,8 +5158,8 @@
     'PhabricatorTokenDAO' => 'PhabricatorLiskDAO',
     'PhabricatorTokenGiveController' => 'PhabricatorTokenController',
     'PhabricatorTokenGiven' => array(
-      0 => 'PhabricatorTokenDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorTokenDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorTokenGivenController' => 'PhabricatorTokenController',
     'PhabricatorTokenGivenEditor' => 'PhabricatorEditor',
@@ -5192,17 +5192,17 @@
     'PhabricatorUITooltipExample' => 'PhabricatorUIExample',
     'PhabricatorUnitsTestCase' => 'PhabricatorTestCase',
     'PhabricatorUser' => array(
-      0 => 'PhabricatorUserDAO',
-      1 => 'PhutilPerson',
-      2 => 'PhabricatorPolicyInterface',
-      3 => 'PhabricatorCustomFieldInterface',
-      4 => 'PhabricatorDestructableInterface',
+      'PhabricatorUserDAO',
+      'PhutilPerson',
+      'PhabricatorPolicyInterface',
+      'PhabricatorCustomFieldInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'PhabricatorUserBlurbField' => 'PhabricatorUserCustomField',
     'PhabricatorUserConfigOptions' => 'PhabricatorApplicationConfigOptions',
     'PhabricatorUserConfiguredCustomField' => array(
-      0 => 'PhabricatorUserCustomField',
-      1 => 'PhabricatorStandardCustomFieldInterface',
+      'PhabricatorUserCustomField',
+      'PhabricatorStandardCustomFieldInterface',
     ),
     'PhabricatorUserConfiguredCustomFieldStorage' => 'PhabricatorCustomFieldStorage',
     'PhabricatorUserCustomField' => 'PhabricatorCustomField',
@@ -5214,8 +5214,8 @@
     'PhabricatorUserEmail' => 'PhabricatorUserDAO',
     'PhabricatorUserEmailTestCase' => 'PhabricatorTestCase',
     'PhabricatorUserLog' => array(
-      0 => 'PhabricatorUserDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhabricatorUserDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhabricatorUserLogView' => 'AphrontView',
     'PhabricatorUserPreferences' => 'PhabricatorUserDAO',
@@ -5266,9 +5266,9 @@
     'PhameBasicBlogSkin' => 'PhameBlogSkin',
     'PhameBasicTemplateBlogSkin' => 'PhameBasicBlogSkin',
     'PhameBlog' => array(
-      0 => 'PhameDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorMarkupInterface',
+      'PhameDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorMarkupInterface',
     ),
     'PhameBlogDeleteController' => 'PhameController',
     'PhameBlogEditController' => 'PhameController',
@@ -5282,10 +5282,10 @@
     'PhameController' => 'PhabricatorController',
     'PhameDAO' => 'PhabricatorLiskDAO',
     'PhamePost' => array(
-      0 => 'PhameDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorMarkupInterface',
-      3 => 'PhabricatorTokenReceiverInterface',
+      'PhameDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorMarkupInterface',
+      'PhabricatorTokenReceiverInterface',
     ),
     'PhamePostDeleteController' => 'PhameController',
     'PhamePostEditController' => 'PhameController',
@@ -5308,9 +5308,9 @@
     'PhluxTransaction' => 'PhabricatorApplicationTransaction',
     'PhluxTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
     'PhluxVariable' => array(
-      0 => 'PhluxDAO',
-      1 => 'PhabricatorFlaggableInterface',
-      2 => 'PhabricatorPolicyInterface',
+      'PhluxDAO',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorPolicyInterface',
     ),
     'PhluxVariableEditor' => 'PhabricatorApplicationTransactionEditor',
     'PhluxVariableQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
@@ -5321,9 +5321,9 @@
     'PholioController' => 'PhabricatorController',
     'PholioDAO' => 'PhabricatorLiskDAO',
     'PholioImage' => array(
-      0 => 'PholioDAO',
-      1 => 'PhabricatorMarkupInterface',
-      2 => 'PhabricatorPolicyInterface',
+      'PholioDAO',
+      'PhabricatorMarkupInterface',
+      'PhabricatorPolicyInterface',
     ),
     'PholioImageQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PholioImageUploadController' => 'PholioController',
@@ -5331,15 +5331,15 @@
     'PholioInlineListController' => 'PholioController',
     'PholioInlineThumbController' => 'PholioController',
     'PholioMock' => array(
-      0 => 'PholioDAO',
-      1 => 'PhabricatorMarkupInterface',
-      2 => 'PhabricatorPolicyInterface',
-      3 => 'PhabricatorSubscribableInterface',
-      4 => 'PhabricatorTokenReceiverInterface',
-      5 => 'PhabricatorFlaggableInterface',
-      6 => 'PhabricatorApplicationTransactionInterface',
-      7 => 'PhabricatorProjectInterface',
-      8 => 'PhabricatorDestructableInterface',
+      'PholioDAO',
+      'PhabricatorMarkupInterface',
+      'PhabricatorPolicyInterface',
+      'PhabricatorSubscribableInterface',
+      'PhabricatorTokenReceiverInterface',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorApplicationTransactionInterface',
+      'PhabricatorProjectInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'PholioMockCommentController' => 'PholioController',
     'PholioMockEditController' => 'PholioController',
@@ -5364,8 +5364,8 @@
     'PholioTransactionView' => 'PhabricatorApplicationTransactionView',
     'PholioUploadedImageView' => 'AphrontView',
     'PhortuneAccount' => array(
-      0 => 'PhortuneDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhortuneDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhortuneAccountBuyController' => 'PhortuneController',
     'PhortuneAccountEditor' => 'PhabricatorApplicationTransactionEditor',
@@ -5386,8 +5386,8 @@
     'PhortuneNoPaymentProviderException' => 'Exception',
     'PhortuneNotImplementedException' => 'Exception',
     'PhortunePaymentMethod' => array(
-      0 => 'PhortuneDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhortuneDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhortunePaymentMethodEditController' => 'PhortuneController',
     'PhortunePaymentMethodListController' => 'PhabricatorController',
@@ -5396,8 +5396,8 @@
     'PhortunePaymentProviderTestCase' => 'PhabricatorTestCase',
     'PhortunePaypalPaymentProvider' => 'PhortunePaymentProvider',
     'PhortuneProduct' => array(
-      0 => 'PhortuneDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhortuneDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhortuneProductEditController' => 'PhabricatorController',
     'PhortuneProductEditor' => 'PhabricatorApplicationTransactionEditor',
@@ -5418,13 +5418,13 @@
     'PhragmentCreateController' => 'PhragmentController',
     'PhragmentDAO' => 'PhabricatorLiskDAO',
     'PhragmentFragment' => array(
-      0 => 'PhragmentDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhragmentDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhragmentFragmentQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhragmentFragmentVersion' => array(
-      0 => 'PhragmentDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhragmentDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhragmentFragmentVersionQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhragmentHistoryController' => 'PhragmentController',
@@ -5436,12 +5436,12 @@
     'PhragmentPolicyController' => 'PhragmentController',
     'PhragmentRevertController' => 'PhragmentController',
     'PhragmentSnapshot' => array(
-      0 => 'PhragmentDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhragmentDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhragmentSnapshotChild' => array(
-      0 => 'PhragmentDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhragmentDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhragmentSnapshotChildQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhragmentSnapshotCreateController' => 'PhragmentController',
@@ -5463,27 +5463,28 @@
     'PhrequentTrackingEditor' => 'PhabricatorEditor',
     'PhrequentUIEventListener' => 'PhabricatorEventListener',
     'PhrequentUserTime' => array(
-      0 => 'PhrequentDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'PhrequentDAO',
+      'PhabricatorPolicyInterface',
     ),
     'PhrequentUserTimeQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
     'PhrictionActionConstants' => 'PhrictionConstants',
     'PhrictionActionMenuEventListener' => 'PhabricatorEventListener',
     'PhrictionChangeType' => 'PhrictionConstants',
     'PhrictionContent' => array(
-      0 => 'PhrictionDAO',
-      1 => 'PhabricatorMarkupInterface',
+      'PhrictionDAO',
+      'PhabricatorMarkupInterface',
     ),
     'PhrictionController' => 'PhabricatorController',
     'PhrictionDAO' => 'PhabricatorLiskDAO',
     'PhrictionDeleteController' => 'PhrictionController',
     'PhrictionDiffController' => 'PhrictionController',
     'PhrictionDocument' => array(
-      0 => 'PhrictionDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorSubscribableInterface',
-      3 => 'PhabricatorFlaggableInterface',
-      4 => 'PhabricatorTokenReceiverInterface',
+      'PhrictionDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorSubscribableInterface',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorTokenReceiverInterface',
+      'PhabricatorDestructibleInterface',
     ),
     'PhrictionDocumentController' => 'PhrictionController',
     'PhrictionDocumentEditor' => 'PhabricatorEditor',
@@ -5502,13 +5503,13 @@
     'PhrictionSearchIndexer' => 'PhabricatorSearchDocumentIndexer',
     'PonderAddAnswerView' => 'AphrontView',
     'PonderAnswer' => array(
-      0 => 'PonderDAO',
-      1 => 'PhabricatorMarkupInterface',
-      2 => 'PonderVotableInterface',
-      3 => 'PhabricatorPolicyInterface',
-      4 => 'PhabricatorFlaggableInterface',
-      5 => 'PhabricatorSubscribableInterface',
-      6 => 'PhabricatorTokenReceiverInterface',
+      'PonderDAO',
+      'PhabricatorMarkupInterface',
+      'PonderVotableInterface',
+      'PhabricatorPolicyInterface',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorSubscribableInterface',
+      'PhabricatorTokenReceiverInterface',
     ),
     'PonderAnswerCommentController' => 'PonderController',
     'PonderAnswerEditController' => 'PonderController',
@@ -5520,8 +5521,8 @@
     'PonderAnswerTransactionComment' => 'PhabricatorApplicationTransactionComment',
     'PonderAnswerTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
     'PonderComment' => array(
-      0 => 'PonderDAO',
-      1 => 'PhabricatorMarkupInterface',
+      'PonderDAO',
+      'PhabricatorMarkupInterface',
     ),
     'PonderCommentQuery' => 'PhabricatorQuery',
     'PonderController' => 'PhabricatorController',
@@ -5530,14 +5531,14 @@
     'PonderPHIDTypeAnswer' => 'PhabricatorPHIDType',
     'PonderPHIDTypeQuestion' => 'PhabricatorPHIDType',
     'PonderQuestion' => array(
-      0 => 'PonderDAO',
-      1 => 'PhabricatorMarkupInterface',
-      2 => 'PonderVotableInterface',
-      3 => 'PhabricatorSubscribableInterface',
-      4 => 'PhabricatorFlaggableInterface',
-      5 => 'PhabricatorPolicyInterface',
-      6 => 'PhabricatorTokenReceiverInterface',
-      7 => 'PhabricatorProjectInterface',
+      'PonderDAO',
+      'PhabricatorMarkupInterface',
+      'PonderVotableInterface',
+      'PhabricatorSubscribableInterface',
+      'PhabricatorFlaggableInterface',
+      'PhabricatorPolicyInterface',
+      'PhabricatorTokenReceiverInterface',
+      'PhabricatorProjectInterface',
     ),
     'PonderQuestionCommentController' => 'PonderController',
     'PonderQuestionEditController' => 'PonderController',
@@ -5566,8 +5567,8 @@
     'QueryFormattingTestCase' => 'PhabricatorTestCase',
     'ReleephAuthorFieldSpecification' => 'ReleephFieldSpecification',
     'ReleephBranch' => array(
-      0 => 'ReleephDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'ReleephDAO',
+      'PhabricatorPolicyInterface',
     ),
     'ReleephBranchAccessController' => 'ReleephBranchController',
     'ReleephBranchCommitFieldSpecification' => 'ReleephFieldSpecification',
@@ -5583,8 +5584,8 @@
     'ReleephBranchTransaction' => 'PhabricatorApplicationTransaction',
     'ReleephBranchTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
     'ReleephBranchViewController' => array(
-      0 => 'ReleephBranchController',
-      1 => 'PhabricatorApplicationSearchResultsControllerInterface',
+      'ReleephBranchController',
+      'PhabricatorApplicationSearchResultsControllerInterface',
     ),
     'ReleephCommitFinderException' => 'Exception',
     'ReleephCommitMessageFieldSpecification' => 'ReleephFieldSpecification',
@@ -5597,8 +5598,8 @@
     'ReleephDiffSizeFieldSpecification' => 'ReleephFieldSpecification',
     'ReleephFieldParseException' => 'Exception',
     'ReleephFieldSpecification' => array(
-      0 => 'PhabricatorCustomField',
-      1 => 'PhabricatorMarkupInterface',
+      'PhabricatorCustomField',
+      'PhabricatorMarkupInterface',
     ),
     'ReleephIntentFieldSpecification' => 'ReleephFieldSpecification',
     'ReleephLevelFieldSpecification' => 'ReleephFieldSpecification',
@@ -5618,18 +5619,18 @@
     'ReleephProductTransaction' => 'PhabricatorApplicationTransaction',
     'ReleephProductTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
     'ReleephProductViewController' => array(
-      0 => 'ReleephProductController',
-      1 => 'PhabricatorApplicationSearchResultsControllerInterface',
+      'ReleephProductController',
+      'PhabricatorApplicationSearchResultsControllerInterface',
     ),
     'ReleephProject' => array(
-      0 => 'ReleephDAO',
-      1 => 'PhabricatorPolicyInterface',
+      'ReleephDAO',
+      'PhabricatorPolicyInterface',
     ),
     'ReleephReasonFieldSpecification' => 'ReleephFieldSpecification',
     'ReleephRequest' => array(
-      0 => 'ReleephDAO',
-      1 => 'PhabricatorPolicyInterface',
-      2 => 'PhabricatorCustomFieldInterface',
+      'ReleephDAO',
+      'PhabricatorPolicyInterface',
+      'PhabricatorCustomFieldInterface',
     ),
     'ReleephRequestActionController' => 'ReleephRequestController',
     'ReleephRequestCommentController' => 'ReleephRequestController',
diff --git a/src/applications/differential/storage/DifferentialDiff.php b/src/applications/differential/storage/DifferentialDiff.php
--- a/src/applications/differential/storage/DifferentialDiff.php
+++ b/src/applications/differential/storage/DifferentialDiff.php
@@ -6,7 +6,7 @@
     PhabricatorPolicyInterface,
     HarbormasterBuildableInterface,
     PhabricatorApplicationTransactionInterface,
-    PhabricatorDestructableInterface {
+    PhabricatorDestructibleInterface {
 
   protected $revisionID;
   protected $authorPHID;
@@ -392,7 +392,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
 
   public function destroyObjectPermanently(
diff --git a/src/applications/differential/storage/DifferentialRevision.php b/src/applications/differential/storage/DifferentialRevision.php
--- a/src/applications/differential/storage/DifferentialRevision.php
+++ b/src/applications/differential/storage/DifferentialRevision.php
@@ -10,7 +10,7 @@
     PhabricatorSubscribableInterface,
     PhabricatorCustomFieldInterface,
     PhabricatorApplicationTransactionInterface,
-    PhabricatorDestructableInterface,
+    PhabricatorDestructibleInterface,
     PhabricatorProjectInterface {
 
   protected $title = '';
@@ -449,7 +449,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
 
   public function destroyObjectPermanently(
diff --git a/src/applications/herald/storage/HeraldRule.php b/src/applications/herald/storage/HeraldRule.php
--- a/src/applications/herald/storage/HeraldRule.php
+++ b/src/applications/herald/storage/HeraldRule.php
@@ -4,7 +4,7 @@
   implements
     PhabricatorFlaggableInterface,
     PhabricatorPolicyInterface,
-    PhabricatorDestructableInterface {
+    PhabricatorDestructibleInterface {
 
   const TABLE_RULE_APPLIED = 'herald_ruleapplied';
 
@@ -252,7 +252,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
   public function destroyObjectPermanently(
     PhabricatorDestructionEngine $engine) {
diff --git a/src/applications/legalpad/storage/LegalpadDocument.php b/src/applications/legalpad/storage/LegalpadDocument.php
--- a/src/applications/legalpad/storage/LegalpadDocument.php
+++ b/src/applications/legalpad/storage/LegalpadDocument.php
@@ -5,7 +5,7 @@
     PhabricatorPolicyInterface,
     PhabricatorSubscribableInterface,
     PhabricatorApplicationTransactionInterface,
-    PhabricatorDestructableInterface {
+    PhabricatorDestructibleInterface {
 
   protected $title;
   protected $contributorCount;
@@ -201,7 +201,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
 
   public function destroyObjectPermanently(
diff --git a/src/applications/mailinglists/storage/PhabricatorMetaMTAMailingList.php b/src/applications/mailinglists/storage/PhabricatorMetaMTAMailingList.php
--- a/src/applications/mailinglists/storage/PhabricatorMetaMTAMailingList.php
+++ b/src/applications/mailinglists/storage/PhabricatorMetaMTAMailingList.php
@@ -3,7 +3,7 @@
 final class PhabricatorMetaMTAMailingList extends PhabricatorMetaMTADAO
   implements
     PhabricatorPolicyInterface,
-    PhabricatorDestructableInterface {
+    PhabricatorDestructibleInterface {
 
   protected $name;
   protected $email;
@@ -43,7 +43,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
 
   public function destroyObjectPermanently(
diff --git a/src/applications/maniphest/storage/ManiphestTask.php b/src/applications/maniphest/storage/ManiphestTask.php
--- a/src/applications/maniphest/storage/ManiphestTask.php
+++ b/src/applications/maniphest/storage/ManiphestTask.php
@@ -8,7 +8,7 @@
     PhabricatorFlaggableInterface,
     PhrequentTrackableInterface,
     PhabricatorCustomFieldInterface,
-    PhabricatorDestructableInterface,
+    PhabricatorDestructibleInterface,
     PhabricatorApplicationTransactionInterface {
 
   const MARKUP_FIELD_DESCRIPTION = 'markup:desc';
@@ -285,7 +285,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
 
   public function destroyObjectPermanently(
diff --git a/src/applications/people/storage/PhabricatorUser.php b/src/applications/people/storage/PhabricatorUser.php
--- a/src/applications/people/storage/PhabricatorUser.php
+++ b/src/applications/people/storage/PhabricatorUser.php
@@ -9,7 +9,7 @@
     PhutilPerson,
     PhabricatorPolicyInterface,
     PhabricatorCustomFieldInterface,
-    PhabricatorDestructableInterface {
+    PhabricatorDestructibleInterface {
 
   const SESSION_TABLE = 'phabricator_session';
   const NAMETOKEN_TABLE = 'user_nametoken';
@@ -821,7 +821,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
 
   public function destroyObjectPermanently(
diff --git a/src/applications/pholio/storage/PholioMock.php b/src/applications/pholio/storage/PholioMock.php
--- a/src/applications/pholio/storage/PholioMock.php
+++ b/src/applications/pholio/storage/PholioMock.php
@@ -9,7 +9,7 @@
     PhabricatorFlaggableInterface,
     PhabricatorApplicationTransactionInterface,
     PhabricatorProjectInterface,
-    PhabricatorDestructableInterface {
+    PhabricatorDestructibleInterface {
 
   const MARKUP_FIELD_DESCRIPTION  = 'markup:description';
 
@@ -258,7 +258,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
 
   public function destroyObjectPermanently(
diff --git a/src/applications/phriction/storage/PhrictionDocument.php b/src/applications/phriction/storage/PhrictionDocument.php
--- a/src/applications/phriction/storage/PhrictionDocument.php
+++ b/src/applications/phriction/storage/PhrictionDocument.php
@@ -6,7 +6,7 @@
     PhabricatorSubscribableInterface,
     PhabricatorFlaggableInterface,
     PhabricatorTokenReceiverInterface,
-    PhabricatorDestructableInterface {
+    PhabricatorDestructibleInterface {
 
   protected $slug;
   protected $depth;
@@ -183,7 +183,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
 
   public function destroyObjectPermanently(
diff --git a/src/applications/project/storage/PhabricatorProject.php b/src/applications/project/storage/PhabricatorProject.php
--- a/src/applications/project/storage/PhabricatorProject.php
+++ b/src/applications/project/storage/PhabricatorProject.php
@@ -6,7 +6,7 @@
     PhabricatorPolicyInterface,
     PhabricatorSubscribableInterface,
     PhabricatorCustomFieldInterface,
-    PhabricatorDestructableInterface {
+    PhabricatorDestructibleInterface {
 
   protected $name;
   protected $status = PhabricatorProjectStatus::STATUS_ACTIVE;
@@ -308,7 +308,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
   public function destroyObjectPermanently(
     PhabricatorDestructionEngine $engine) {
diff --git a/src/applications/project/storage/PhabricatorProjectColumn.php b/src/applications/project/storage/PhabricatorProjectColumn.php
--- a/src/applications/project/storage/PhabricatorProjectColumn.php
+++ b/src/applications/project/storage/PhabricatorProjectColumn.php
@@ -2,8 +2,9 @@
 
 final class PhabricatorProjectColumn
   extends PhabricatorProjectDAO
-  implements PhabricatorPolicyInterface,
-  PhabricatorDestructableInterface {
+  implements
+    PhabricatorPolicyInterface,
+    PhabricatorDestructibleInterface {
 
   const STATUS_ACTIVE = 0;
   const STATUS_HIDDEN = 1;
@@ -99,7 +100,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
   public function destroyObjectPermanently(
     PhabricatorDestructionEngine $engine) {
diff --git a/src/applications/repository/storage/PhabricatorRepository.php b/src/applications/repository/storage/PhabricatorRepository.php
--- a/src/applications/repository/storage/PhabricatorRepository.php
+++ b/src/applications/repository/storage/PhabricatorRepository.php
@@ -8,7 +8,7 @@
     PhabricatorPolicyInterface,
     PhabricatorFlaggableInterface,
     PhabricatorMarkupInterface,
-    PhabricatorDestructableInterface,
+    PhabricatorDestructibleInterface,
     PhabricatorProjectInterface {
 
   /**
@@ -1387,7 +1387,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
   public function destroyObjectPermanently(
     PhabricatorDestructionEngine $engine) {
diff --git a/src/applications/repository/storage/PhabricatorRepositoryArcanistProject.php b/src/applications/repository/storage/PhabricatorRepositoryArcanistProject.php
--- a/src/applications/repository/storage/PhabricatorRepositoryArcanistProject.php
+++ b/src/applications/repository/storage/PhabricatorRepositoryArcanistProject.php
@@ -2,8 +2,9 @@
 
 final class PhabricatorRepositoryArcanistProject
   extends PhabricatorRepositoryDAO
-  implements PhabricatorPolicyInterface,
-  PhabricatorDestructableInterface {
+  implements
+    PhabricatorPolicyInterface,
+    PhabricatorDestructibleInterface {
 
   protected $name;
   protected $repositoryID;
@@ -89,7 +90,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
   public function destroyObjectPermanently(
     PhabricatorDestructionEngine $engine) {
diff --git a/src/applications/system/engine/PhabricatorDestructionEngine.php b/src/applications/system/engine/PhabricatorDestructionEngine.php
--- a/src/applications/system/engine/PhabricatorDestructionEngine.php
+++ b/src/applications/system/engine/PhabricatorDestructionEngine.php
@@ -4,7 +4,7 @@
 
   private $rootLogID;
 
-  public function destroyObject(PhabricatorDestructableInterface $object) {
+  public function destroyObject(PhabricatorDestructibleInterface $object) {
     $log = id(new PhabricatorSystemDestructionLog())
       ->setEpoch(time())
       ->setObjectClass(get_class($object));
diff --git a/src/applications/system/interface/PhabricatorDestructableInterface.php b/src/applications/system/interface/PhabricatorDestructibleInterface.php
rename from src/applications/system/interface/PhabricatorDestructableInterface.php
rename to src/applications/system/interface/PhabricatorDestructibleInterface.php
--- a/src/applications/system/interface/PhabricatorDestructableInterface.php
+++ b/src/applications/system/interface/PhabricatorDestructibleInterface.php
@@ -1,6 +1,6 @@
 <?php
 
-interface PhabricatorDestructableInterface {
+interface PhabricatorDestructibleInterface {
 
   public function destroyObjectPermanently(
     PhabricatorDestructionEngine $engine);
diff --git a/src/applications/system/management/PhabricatorSystemRemoveDestroyWorkflow.php b/src/applications/system/management/PhabricatorSystemRemoveDestroyWorkflow.php
--- a/src/applications/system/management/PhabricatorSystemRemoveDestroyWorkflow.php
+++ b/src/applications/system/management/PhabricatorSystemRemoveDestroyWorkflow.php
@@ -45,12 +45,12 @@
     }
 
     foreach ($named_objects as $object_name => $object) {
-      if (!($object instanceof PhabricatorDestructableInterface)) {
+      if (!($object instanceof PhabricatorDestructibleInterface)) {
         throw new PhutilArgumentUsageException(
           pht(
             'Object "%s" can not be destroyed (it does not implement %s).',
             $object_name,
-            'PhabricatorDestructableInterface'));
+            'PhabricatorDestructibleInterface'));
       }
     }
 
diff --git a/src/applications/transactions/storage/PhabricatorApplicationTransaction.php b/src/applications/transactions/storage/PhabricatorApplicationTransaction.php
--- a/src/applications/transactions/storage/PhabricatorApplicationTransaction.php
+++ b/src/applications/transactions/storage/PhabricatorApplicationTransaction.php
@@ -4,7 +4,7 @@
   extends PhabricatorLiskDAO
   implements
     PhabricatorPolicyInterface,
-    PhabricatorDestructableInterface {
+    PhabricatorDestructibleInterface {
 
   const TARGET_TEXT = 'text';
   const TARGET_HTML = 'html';
@@ -1026,7 +1026,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
 
   public function destroyObjectPermanently(
diff --git a/src/applications/transactions/storage/PhabricatorApplicationTransactionComment.php b/src/applications/transactions/storage/PhabricatorApplicationTransactionComment.php
--- a/src/applications/transactions/storage/PhabricatorApplicationTransactionComment.php
+++ b/src/applications/transactions/storage/PhabricatorApplicationTransactionComment.php
@@ -5,7 +5,7 @@
   implements
     PhabricatorMarkupInterface,
     PhabricatorPolicyInterface,
-    PhabricatorDestructableInterface {
+    PhabricatorDestructibleInterface {
 
   const MARKUP_FIELD_COMMENT  = 'markup:comment';
 
@@ -135,7 +135,7 @@
   }
 
 
-/* -(  PhabricatorDestructableInterface  )----------------------------------- */
+/* -(  PhabricatorDestructibleInterface  )----------------------------------- */
 
   public function destroyObjectPermanently(
     PhabricatorDestructionEngine $engine) {