AND, and -- I have recently put my finger on something that bothered me a lot and it's the "better but not quite there" stereotype that learning is only "cool and shiny learning" for developers if it's divergent thinking novel solution learning. Absolutely not. Imitative learning, social learning as reproduction of others' solutions, small modifications of others' solutions, is most of what we do when we problem solve on this planet probably.