The best bet for knowledge that can apply to new situations is an abstract understanding — seeing that apparently different problems have a similar underlying structure. And the best bet for students to gain this abstract understanding is to teach it explicitly.