L-Systems and other Procedural RNG content methods

I have created a short simple script creating recursive construction, which could be used to make mountains, clouds, vegetation, spaceships, your imagination…
Production rules are often added into l-systems, where rules will replace parts with others at each step.
A shape, any blender object, not an empty, and a bunch of empty’s are in a collection to start.
When the script is run the object is duplicated and given the translation it would take for the empty to move, rotate and scale to get to where give it, it’s new location. Then all those objects have that done to them, again and again.
object.matrix_world @= empty.matrix_world
So other procedural techniques exist and while geometry nodes are nice, there may be some functionality we can pipe in and out of. A method to create a context free grammar where objects are tokens are the rules become instructions for constructions, allowing many variations while staying more within artistic intent. Empties can be use to describe affine transformations to apply at recursive stages or attachment points.
I think this would be a good area to discuss proceduralism and tools that would push Blender’s capabilities and make them more accessible for the everyday artists.