In other words, it would be possible to provide an API (e.g., a socket
option that could be set) which would abort the connection if it
receives a soft error in SYN-SENT/RECEIVED states.
Another alternative is to make the change by default, but provide the
identical API (e.g., a socket option) which would prevent the address
cycling -- because one could argue that address cycling is in most
cases a desirable thing to do, and this would be a better "by default"
behaviour. Most applications would want to set it in any case, and
doing it by default would achieve a better and easier "application
penetration".