code: public static function findTypesAddedToUnions(
          Schema $oldSchema,
          Schema $newSchema
      ) {
          $oldTypeMap = $oldSchema->getTypeMap();
          $newTypeMap = $newSchema->getTypeMap();
  
          $typesAddedToUnion = [];
          foreach ($newTypeMap as $typeName => $newType) {
              $oldType = $oldTypeMap[$typeName] ?? null;
              if (! ($oldType instanceof UnionType) || ! ($newType instanceof UnionType)) {
                  continue;
              }
  
              $typeNamesInOldUnion = [];
              foreach ($oldType->getTypes() as $type) {
                  $typeNamesInOldUnion[$type->name] = true;
              }
              foreach ($newType->getTypes() as $type) {
                  if (isset($typeNamesInOldUnion[$type->name])) {
                      continue;
                  }
  
                  $typesAddedToUnion[] = [
                      'type'        => self::DANGEROUS_CHANGE_TYPE_ADDED_TO_UNION,
                      'description' => sprintf('%s was added to union type %s.', $type->name, $typeName),
                  ];
              }
          }
  
          return $typesAddedToUnion;
      }
docs: Given two schemas, returns an Array containing descriptions of any dangerous
  changes in the newSchema related to adding types to a union type.
  
  @return string[][]