Isn't this more about miss-applying functional programming? Not that these things aren't possible with functional programming.