Conversation

Such a feature (plus a few others like invertable type constructors, and typeof) would deal with a lot of the cases that type inference is usually used for. For example "reverse: {A = List⁻¹(typeof(x)) : Set} → (x : List(A)) → List(A)".
1
(Variable scope here is odd, normally variable scope is L-R but here x is being mentioned in typeof(x) despite x being bound later, so there is some kind of recursion going on.)
1