The simplest way would be to shove computing under the maths curriculum. Teach if with guard statements, and skip for, teach recursion. by the time the kids get to sixth form, have a mathmatical computation course where you teach them to apply their knowledge to a language like haskell that mirrors mathmatical notation quite well.
During sixth form college (ages 16-18, in the UK) one of the philosophy lecturers started a course with the same sort of goals. It covered critical thinking, written communication, logic, a bit of psychology etc.
The 12 or so hours I spent in those lectures were among the most valuable hours I invested in anything, ever.
There is still, to this day, a large number of people who think education needs to be repetitive rote drill in order to be... real, or legitimate, or even 'useful' by some warped definition of that concept.
It's tied into the notion of hazing, or "If I had to waste my years in school tied to a desk memorizing stuff I don't use, so should you! Builds character!"
And, finally, the idea that if the next generation does it, too, maybe your time doing it wasn't simply wasted.
I never had a problem with this, and my first few languages were BASIC, assembly and C. LISP came naturally to me a few years later.
I think the problem is that people are /used/ to imperative programs, and aren't given real practice in functional programming.
There are also FP zealots, some of whom maintain that learning IP first causes damage. I think this attitude is toxic and doesn't actually help their "cause" (as if good tools needed a "cause" -- good tools should just be good tools).