I was above average in college, second time I came back. But that second semester, French was new to me and it's not the best foreign language course to take right off the bat, but I didn't have the background for pre-calc, just the grades to place me there. Failed it twice in a row.
There's a lot of non-intuitive (for everyone), just straight rules that you have to be taught and it'd take too much time to learn those rules AND pass the class when you learn which problems they actually work on. You have to add subset rules, and that isn't necessarily intuitive either. There actually, quite objectively, more material than that course's curriculum could accommodate.
What do you say to something like that? When the teacher wants you to have mastered pseudo-skills that his course isn't suitable to cover, by the end of the course?
Of course, those who'd already mastered enough passed his course, maybe some had already mastered the skills, and his course served as mere rhetoric for them. Either way, repetition is not why we go to school.
If I don't get an A, or if I come to the realization that I'm not going to be able to make A-class; I quit/fail the course.
That's an ego thing, I know that I have to realize that it's just so employers will respect my knowledge-base - but I could learn all of that and more, quite a bit more cleanly, without the curriculum. Or the German model or whatever that American schools are based on.
I'd just have to read and write a lot, and poof. Specialized doctorate level expertise, in less time.