Quando uma NSURLResponse não é uma NSHTTPURLResponse?

Vi muitos códigos, incluindo o exemplo SimpleURLConnections da Apple, que simplesmente convertem qualquer NSURLResponse em um NSHTTPURLResponse. Se é sempre um NSHTTPURLResponse, por que as NSURLConnections não retornam NSHTTPURLResponse?

Estou preocupado que, se eu simplesmente abaixar a resposta, estou introduzindo o código do bugg

or exemplo, não há problema em fazer isso sem verificar isKindOfClas

- (NSURLRequest *)connection:(NSURLConnection *)connection willSendRequest:(NSURLRequest *)request redirectResponse:(NSURLResponse *)redirectResponse
{
 NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)redirectResponse;
 // do stuff
}

questionAnswers(2)

yourAnswerToTheQuestion