initWithCoder: does not get NSKeyedUnarchiver?


Ref: Page 263

The text before implementation of initWithCoder: says something like…
“the instance of root object (allPossessions array) is sent initWithCoder: with the instance of NSKeyedUnarchiver passed as the argument”.

But that’s not true. initWithCoder: receives NSCoder as an argument.

Legality aside, how does it (and why) work to send a method NSKeyedUnarchiver when its expecting NSCoder object?

Thanks, for any insight!