It's also very tough on the student if they don't know where something is going, and it's not suitable for every sort of learning. It's great for reasoning from first principles as in philosophy (where we want to wrestle with deep abstractions but don't need more than basic a priori knowledge to do so).And it's great for building on top of domain knowledge (as in law schools where students read the facts of a case and its procedural history in advance, and then the professor challenges students to explain why a case got decided a particular way). But as a means for acquiring domain knowledge - gathering facts rather than technique, and building those facts into a context - it's quite inefficient. Another problem is that it's not very responsive to the needs of weak students - teachers are likely to put most of their attention on the good students who can sustain long causal chains of reasoning rather than weak (or shy) ones who get stuck or intimidated, and the more advanced the exchange between the professor and a strong student, the harder it can be for bystanders to keep up. One way of testing a student is to bait them with what seems like an easy question that will lead them off point into a dead end; this is potentially humiliating for the student if the teacher is aggressive (which then dilutes the lesson somewhat with negative emotions, both for the student and possibly sympathetic onlookers). If the student is sharp enough to see the trap and deflect or decline a series of invitations to error, the chain of reasoning that links the points of a complex argument together gets 'stretched out' and onlookers may lose sight of the overall direction or (worse) fail to appreciate the potential pitfalls that the teacher is drawing attention to because they are being skillfully avoided.