Learning group in the abstract, followed quickly by many examples of groups, is in my own opinion the best way to learn about groups. But this isn't quite general -> specific, this is general -> example, example, example.
I think this is where a lot of the Haskell explanations fall down, since they start with (definition of functor) -> example, example, example; then go into (definition of natural transformation) -> (no examples), and the problems multiply from there.
I think this is where a lot of the Haskell explanations fall down, since they start with (definition of functor) -> example, example, example; then go into (definition of natural transformation) -> (no examples), and the problems multiply from there.