Thank you again for elaborating on your earlier reply. I can see from your examples how localisation is necessary to avoid, for example,
getting too many 'b's. There is one thing that is confusing me though. In the second and third patterns I don't understand the significance of the extra (memory group?) brackets around the code block
. Why do we need these when we are assigning within the pattern rather than having to remember outside of it? I must be missing something.