Какой из следующих вариантов корректно демонстрирует использование `X | None` в аннотации типа, и почему это предпочтительнее `Union[X, None]`?