15 or so years ago now - before I worked professionally really - I worked with Common Lisp to create a little toy tool to build, essentially, ASTs and evolve them to achieve a given fitness function. It was a heavily studied topic in the 1995-2005 timeframe at my alma mater. I just uploaded it (
https://github.com/pnathan/z-system ) as an amusing bit.
I'd be curious if the OP has looked at the literature on evolutionary programs (not evo algos, but programs).