Goal:
  
  ============================
   nat


DEBUG:Going to execute:
fun ev =>
             lazymatch ev with
             | S ?ev => refine (S _); push_S_refine_num ev
             | ?ev =>
                 let __ := open_constr:((eq_refl : ev = S _)) in
                 refine
                 0
             end