¿Por qué NSArray arrayWithObjects requiere un nil de terminación?

Entiendo que marca el final de un conjunto de varargs, pero ¿por qué no puede implementarse de tal manera que no requiera el nulo?