I've had the pleasure of working a lot with XSLT the last couple of weeks while implementing a site in Umbraco. Developing macros in XSLT is somewhat far from what I've been used to in other higher-level languages I've worked with.
The last couple of days I've been struggling a lot with the scope of variables as well as updating some variables in a loop, without much luck. It now turns out that this is not possible because "variables are constant" in XSLT. I wonder who came up with that idea...