Ltac next_module H :=
  first
  [ apply semax_func_cons; [ reflexivity | apply H | ]
  | eapply semax_func_app;
     [apply H | | reflexivity | reflexivity
     |   try apply varspecs_sub_refl; try reflexivity
     |   try apply varspecs_sub_refl; try reflexivity
     |   try apply funspecs_sub_refl; try (repeat split; simpl; auto)
     |   try apply funspecs_sub_refl; try (repeat split; simpl; auto)
     ]
   ].(**************************************************************)

Instance QS: listspec t_struct_elem _next.

(* Specifications: *)
Lemma isnil: forall {T: Type} (s: list T), {s=nil}+{s<>nil}.