I wonder what if genes are only like "functions" and inputs still come from environment. This makes it easy to not change that function often as the output changes based on input received from the environment. While only in very rare cases the function itself needs to be modified or simply put inside another function to give the function inside access to more environmental inputs.