Quando dateByAddingComponents: toDate: options retorna nulo?

Eu tenho usadodateByAddingComponents:toDate:options: edateByAddingUnit:value:toDate:options: e usando a ligação opcional para obter a data. Como isso:

guard let startOfNextMonth = calendar.dateByAddingComponents(oneMonthComponent, toDate: startOfThisMonth, options: []) else {
    return nil
}

OndeoneMonthComponent é apenas um NSDateComponent com o valor do mês definido como 1.

Quando li sobre isso, na documentação os dois dizem algo como:

Retorna nulo se a data estiver fora do intervalo definido do receptor ou se a computação não puder ser realizada.

E eu tenho me perguntado, quando isso é exatamente causado. Se estou apenas adicionando um mês a uma data, existe uma maneira que poderia ser nula? Isso ocorre porque algumas diferenças nos outros sistemas de calendário, onde a adição de algumas unidades não faz sentido?

Eu pesquisei e não consegui encontrar uma instância em que retornaria nulo.

Existe algo que possa tornar o código acima nulo? Qual é um exemplo em que a adição de componentes pode ser nula?

questionAnswers(1)

yourAnswerToTheQuestion