in reply to pissed off about functional programming
Some things here are spot on, but other things are very confused. What you're lacking is a good handle on what functional programming is (rather than what it is not).
Functional programming is programming with (pure) functions. That's it. Nothing more or less. Programming is therefore functional to the extent that it is referentially transparent (by definition).
If it isn't that, then it's nothing at all. You can wave your hands and talk about "functional style" but it doesn't matter with how much style you violate referential transparency. It's not functional programming, to the extent that you violate it.