It is always entertaining to watch non-contributors opine about completely obvious solutions that the devs are silly to have overlooked.
The interesting thing about bitcoin is its organic nature. The bitcoin codebase, warts and all, was dumped into the Internet's collective lap. Reality does not give anyone a chance to pause, wait for a specification to be polished, to wait for every single edge case to be tested (if that were even possible), etc.
Almost half a billion dollars in market cap, and the dev team is still largely unpaid volunteers, trailing behind events, cleaning up the messes reality leaves behind.
There are many examples of protocols which only became specified after an implementation as in widespread use. Look at HTTP, look at ssh, look at OpenPGP. These all have organic ecosystems of implementations, and were all specified after an implementation went into widespread use. It is simply part of the maturation process. Crypto currency is no different. Lacking a spec actually prevents the "organic" nature you speak of, the same way that any other single-implementation unspecified "protocol" does.