Variant pred_key (p : predPredType T) := DefaultPredKey.Variant pred_key (p : predPredType T) := DefaultPredKey.Structure keyed_pred (k : pred_key p) :=
  PackKeyedPred {unkey_pred :> pred_class; _ : unkey_pred =i p}.Structure keyed_pred (k : pred_key p) :=
  PackKeyedPred {unkey_pred :> pred_class; _ : unkey_pred =i p}.Structure keyed_pred (k : pred_key p) :=
  PackKeyedPred {unkey_pred :> pred_class; _ : unkey_pred =i p}.Definition KeyedPred := @PackKeyedPred k p (frefl _).

Lemma keyed_predE : k_p =i p.