(* Exemple soumis par Pierre Corbineau (bug #1671) *)

CoInductive hdlist : unit -> Type :=
| cons : hdlist tt -> hdlist tt.

Variable P : forall bo, hdlist bo -> Prop.
Variable all : forall bo l, P bo l.

Definition F (l:hdlist tt) : P tt l :=
match l in hdlist u return P u l with
| cons (cons l') => all tt _
end.
