Functional language developers are obsessed with side effects but I rarely ever see problems with it in real code. Like I can remember once in maybe 10 years setting a developer write a "get" method that also wrote to a file. Caught during code review, rewritten easily.
Also - it's sad to see languages still using whitespace for code blocks. Respect programmers, use proper start/end symbols for that. It's not the 80s, development tools can format code now.