let is_sized_pointer ~env (exp : expr) = 
  match (type_of exp).ct_ty with
  | Tvoid -> false
  | Tbuiltin _ -> false
  | Tstruct _ -> false
  | Tarray _ | Tfunction _ -> assert false (* should be pointer *)
  | Tpointer t ->
      if size_of_type ~env t = None then false else true