In chapter 10, I present the universality of the genetic code as evidence for evolution. My reasoning is implicitly based on the assumption that the genetic code is not the way it is by chemical necessity. I want to take some time to justify that assumption.
First of all, the assumption may be justified by the fact that there are minor variations in the genetic code. This fact alone tells us that it is not as fixed as some might think.
Secondly, I'd like to quote a recent paper on the Evolution of the Genetic Code, (this quote is in response to the question of why the genetic code is universal. Note that the "frozen accident" theory is the theory that after the genetic code evolved it became fixed for reasons described in chapter 10 of my book):
"Of course, the stereochemical theory, in principle, could offer a simple solution, namely, that the codon assignments in the standard code are unequivocally dictated by the specific affinity between amino acids and their cognate codons. As noticed above, however, the affinities are equivocal and weak... What remains as an explanation of the code’s universality is some version of frozen accident combined with selection that brought the code to a relatively high robustness that was sufficient for the evolution of complex life."
In other words, the stereochemical theory (the theory that the genetic code is the way it is because of chemical necessity or chemical affinity) cannot explain the universality of the genetic code because chemical affinities between codons and the amino acids they code for is very weak or nonexistent.