let ensure_not_void (e1 : expr) = 
  if (type_of e1).ct_ty <> Tvoid then ()
  else raise (TypeError_typed(e1,"not a numeric"))