Just a thought, and let me leave it later.
I remember that there had been a theory in developmental psychology about moral thinking.
I don’t remember the theory, but I doubt if I were to construct one, I would have this:
1. In the beginning, we think there are good people and bad people only, good people do good and bad bad.
2. Then, we find that good people do wrong thing, so we come to say that people are hypocritic. Or less strong, we have a dualist thought about behaviour and thought.
3. Further, we have discovered some people who are really innocent. Our new conclusion will then be a retreated dualism that, “It is possible to think and to act differently. Some people do it more naturally."
4. With more people you meet, you find that you actually don’t have a clue about who are “good" people. You learn that good people can be weak enough to be bad. Or, truly, they are just foolish enough to good things in bad ways. Vice versa (clever — bad — good). Finally, you don’t have people good or bad, they just are who they are.