Conversation

I agree! But Haskell has stratification between types and terms which makes efficient code generation easier. I'm not sure if that's the thing at play here, but smushing together stuff makes things mighty hard. They also have to deal with positivity checking for data types too!
1
Some more links, this time regarding how indexes vs. parameters affect the generation of induction principles (I don't think this is what Agda does internally, but I believe it's pretty important for the type theory): cs.stackexchange.com/questions/2010 homotopytypetheory.org/2011/04/10/jus