Inductive empty_type : Type := .
Definition withtype_of_NDfunspec fs := match fs with
mk_funspec _ _ (rmaps.ConstType A) _ _ _ _ => A | _ => empty_type end.
Definition withtype_of_funspec fs := match fs with
mk_funspec _ _ A _ _ _ _ => A end.

Lemma subsume_funspec_trans:
forall fs1 fs2 fs3,
subsume_funspec fs1 fs2 ->
subsume_funspec fs2 fs3 ->
subsume_funspec fs1 fs3.