@guyjantic
In addition, the code copying mechanism is imperfect, which is a feature.
The code only determines a fraction of the outcome, with the runtime environment determining a lot.
The code and the environment sort of influence each others, with the environment able to turn genes "on" or "off".
And then, bacteria and viruses etc (with their own genome) take the role as plugins and add-ons. Their participation is somewhat necessary, but there is no overview.
Sure, easy to simulate ...