Having taught ~200 adults to program, a teacher should avoid the "difficult/easy" dichotomy entirely, which is closely related to the "stupid/smart" dichotomy. SQL is "easy" if you come from a job where you've used Excel all the time, but hard if you've never had to think that way.
Much more valuable is giving people the tools to (1) understand why something exists, (2) what problems it was designed to solve, (3) why it is designed the way it is vs. other possible ways, and so on. Everything is "easy" once you've viscerally experienced the problem yourself and spent some time tinkering with possible solutions.
Monads are "hard," for example, not because they're technically complicated. Their definition is not so much abstract as austere, as you point out. Rather, they're hard because the beginner doesn't see how they are an attempt to solve certain problems with side effects in a purely functional language which prioritizes referential transparency.
Both "easy" and "difficult" are dangerous words because the student quietly elevates them to statements about their own intellect. If this "easy" but I can't do it, I am stupid. If this is "difficult" but easy for me, I am smart — smarter than those other students who are having a hard time.
IMO, it's really the fixed mindsets we need to combat, not one particular axis of fixed thinking.
Much more valuable is giving people the tools to (1) understand why something exists, (2) what problems it was designed to solve, (3) why it is designed the way it is vs. other possible ways, and so on. Everything is "easy" once you've viscerally experienced the problem yourself and spent some time tinkering with possible solutions.
Monads are "hard," for example, not because they're technically complicated. Their definition is not so much abstract as austere, as you point out. Rather, they're hard because the beginner doesn't see how they are an attempt to solve certain problems with side effects in a purely functional language which prioritizes referential transparency.
Both "easy" and "difficult" are dangerous words because the student quietly elevates them to statements about their own intellect. If this "easy" but I can't do it, I am stupid. If this is "difficult" but easy for me, I am smart — smarter than those other students who are having a hard time.
IMO, it's really the fixed mindsets we need to combat, not one particular axis of fixed thinking.