Definition reptype_members (m: members) := list_prod (map (fun it => reptype (field_type (fst it) m)) m).Notation REPTYPE t :=
  match t return Type with
  | Tint => val
  | Tstruct id => reptype_members (co_members (get_co id))
  end.

(* Specifications: *)
Lemma reptype_eq: forall t, reptype t = REPTYPE t.