The usage of the word 'self' to refer to the current iteration became increasingly
confusing with the usual OOP counterpart, in particular because its value can change
in a single expression, independendly of the surrounding object. See previous check
in that uncovered its usage in the fold function.
Template can now both handle variable creation and command sequence.
They become essentially a command that can be instantiated.
Concept of command variable is being expanded to fit templates needs.
nested blocks {} and sequences "do .. then .. end" are now merged.
The new sequence "do .. then .. end" has a unique frame.
Implemented support for group number through nesting of sequences.
New tree syntax uses {} instead of [] now that this is available
Removed confusing implicit "new", template now needs to be captured to be available.
Renamed the "template" browsing function to "wrapper".
Change odd syntax is' / has' to is () and has ()