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
Not sure if there's any way to infer parameters vs. indices, and it might also be important for documentation/intent. I do agree that the arrow notation looks prettier than the ML-style inline-annotated arguments.
1
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