In short: Make children that have exit rules from one parent and entry rules from the other at least some reasonable percentage of the time.
The problem in short: Many children come out as nonsense and die. The ones that do live are almost always extremely similar to one parent and have only a slight tweak from the other parent. It is not as useful as it could be. A simple improvement to crossover would be a massive improvement to diversity, building efficiency, and migration usefulness.
I do not take lightly suggestions to make changes to the genetic building process, it took a long time to get everything functioning correctly. (I know, I'm the one who reported many of the bugs!) However, the gains that could be had by making this simple improvement are quite large and would make fixing those bugs that we already fixed more valuable. And who wouldn't want to see children that actually make sense with a SL and exit rules from one parent and entry rules from the other?
As I understand it, crossover allows any number of randomly selected blocks or even single variables to be swapped into any other positions of blocks or variables with the other parent in the production of the child. In most cases simply selecting random blocks to go into random positions produces a high percentage of nonsense-garbage children. In most cases, from what I have observed, a surviving child has only one or two variables or blocks from one parent and gets the rest of its blocks and variables from the other. So crossover, in many cases, seems like it acts like not much more than another kind of mutation where it inherits all of it's main characteristics from only one parent.