This is a more general pedagogical question than specifically teaching mathematics.
As a student, I have always been frustrated that some things were kept from me and not thought deeply. For example, in school, I was taught matrix multiplication as "this is how we multiply matrices", after a bit of discussion about what is a matrix. However, there is a beautiful world behind the simple algorithm we mindlessly applied all over again that attaches a lot of meaning to every operation and I have to wait years until I got to find about it. The same goes for determinants, limits and much more concepts.
One might argue that there is not enough time for all this. But there is. Between the tens and hundreds of matrix multiplication exercises we've done (by we I mean me and my colleagues), there was time for a few tens of minutes of explanation.
Some time ago I started tutoring/mentoring students on an individual basis in maths and computer science (more of the latter than the former, but the question and the problem is still the same). What I found is that my requirement to go and understand the fundamentals before doing anything seems to frustrate and demotivate them. They won't have the patience of looking at the results and trying to get the meaning behind them, and my attempts were received with frustration.
After a while, those who "survive" get to thank me for this treatment, but I would like to make this process more enjoyable for them. How to keep their passion and curiosity and guide them to go for the meaning rather than for the result?