First-class hat blocks

Yeah, those are examples of text that I think could be misunderstood as calling for mutation of the input.

Once you understand a little about functional programming, it should be clear that reporters don't mutate, until you take data structures and write

But, again, newbies...

Think about the notation foo++ in C. It returns a value, but it also changes what's in the variable.