ndice @NSArray da última discrepância de objeto

Abaixo é um exemplo que contém duas matrizes que retornam índices diferentes para o lastObjec

NSMutableArray *ary0 = [[NSMutableArray alloc] initWithArray:[NSArray arrayWithObjects:[NSDecimalNumber decimalNumberWithString:@"2"],[NSDecimalNumber one], nil]];
NSLog(@"%d",[ary0 indexOfObject:[ary0 lastObject]]);

Logs 1, conforme o esperad

NSMutableArray *ary1 = [[NSMutableArray alloc] initWithArray:[NSArray arrayWithObjects:[NSDecimalNumber one],[NSDecimalNumber one], nil]];
NSLog(@"%d",[ary1 indexOfObject:[ary1 lastObject]]);

Logs 0.

Não vejo como o índice do lastObject em ary1 é 0, mesmo que haja dois objetos idênticos em ary1. Alguém pode explicar por que isso faz sentido ou apontar o erro muito bobo que estou cometendo? Obrigado

questionAnswers(3)

yourAnswerToTheQuestion