Section bla.
Record bar := { baz : nat; def := 0; baz' : forall x, x = baz \/ x = def }.
End bla.
End Univ.
Set Primitive Projections.
Unset Elimination Schemes.
Set Implicit Arguments.
Check nat.
Inductive X (U:Type) := { k : nat; a: k = k -> X U; b : let x := a eq_refl in X U }.
Parameter x:X nat.
Check (a x : forall _ : @eq nat (k x) (k x), X nat).
Check (b x : X nat).
Inductive Y := { next : option Y }.
Check _.(next) : option Y.

Lemma eta_ind (y : Y) : y = Build_Y y.(next).