I don't think that's a requirement though, merely an example of defensive programming.
Agree with you about defensive programming, however "design by committee" appear to have eventually agreed on the word "should" instead of "must" !
When allocating a new address, servers SHOULD check that the offered network address is not already in use; e.g., the server may probe the offered address with an ICMP Echo Request.
-and-
The client SHOULD perform a check on the suggested address to ensure that the address is not already in use.