Kris Jenkins has one of the best little descriptions of functional programming that I’ve seen. A good link to send around when the questions come up.
I put it to you that every function you write has two sets of inputs and two sets of outputs.
Two? Only one, surely?
No, two. Definitely two.