The source address of a datagram was an architectural mistake, and should never have been in the mandatory packet format.
Nahh, the mistake was ignoring the source address when routing & forwarding.