title: Why not be dependently typed?
body: <p>I have seen several sources echo the opinion that "Haskell is gradually becoming a dependently-typed language". The implication seems to be that with more and more language extensions, Haskell is drifting in that general direction, but isn't there yet.</p>
  
  <p>There are basically two things I would like to know. The first is, quite simply, what does "being a dependently-typed language" actually <em>mean</em>? (Hopefully without being too technical about it.)</p>
  
  <p>The second question is... what's the drawback? I mean, people know we're heading that way, so there must be some advantage to it. And yet, we're not there yet, so there must be some downside stopping people going all the way. I get the impression that the problem is a steep increase in complexity. But, not really understanding what dependent typing is, I don't know for sure.</p>
  
  <p>What I <em>do</em> know is that every time I start reading about a dependently-typed programming language, the text is utterly incomprehensible... Presumably that's the problem. (?)</p>