let ensure_integer e1 = 
  match (type_of e1).ct_ty with
    Tbuiltin
      (Tchar | Tschar | Tuchar 
      | Tshort | Tushort 
      | Tint | Tuint
      | Tlong | Tulong
      | Tlonglong | Tulonglong-> ()
  | _ -> raise (TypeError_typed(e1,"not an integer"))