The list of commands in the rule. Contains all the information necessary to draw it. Initializes all the basic values. Not true but when we first draw it will make it start from scratch. If there is more than one rule.
Most recurive algorithms have a return value.
Not returning a string speeds things up by several orders of magnitude. Loop counter for checking all the rules. It also needed rule commands to be upper case and rule names to be lower case. The new recursive version is several times faster, mostly because symbols are found in the correct order and appended, where as here many strings are generated and inserted into the main string and the replace method is slower than append. Result of operations - instructions to draw.