Global Instance Proper_hlist_gen : forall A F,
  Proper (forall_relation (fun _ => eq) ==> forall_relation (fun _ => eq))
         (@hlist_gen A F).

Lemma equiv_hlist_gen : forall T (F : T -> Type) (f : forall t, F t) f' (R : forall t, F t -> F t -> Prop), (forall t, R t (f t) (f' t)) -> forall ls, equiv_hlist R (hlist_gen f ls) (hlist_gen f' ls).