API: dont-special-case datetimelike in setting new column
- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [ ] whatsnew entry

What's the change in behaviour exactly? It will no longer infer datetime, or will no longer *only* infer datetimes? 

(I mentioned that before, but I would find it helpful if you can generally provide a bit more context when opening PRs) > (I mentioned that before, but I would find it helpful if you can generally provide a bit more context when opening PRs)

I generally prefer brevity in cases where the title is descriptive and the code change is small: one line of code and 1 affected test > I generally prefer brevity in cases where the title is descriptive and the code change is small: one line of code and 1 affected test

"descriptive" for you (who has been doing the change and thus of course understands what it is about) is something else as descriptive enough for someone else who is not you ;) 
To be clear: the reason I gave this comment was exactly because the title was *not* descriptive for me. Without diving into the code myself, I don't know what special case you are talking about, or what it means in practice to no longer special case something.

It's not because it is only a 1 line change that it is necessarily easy to understand what it actually changes. To know that, I would need to know by heart all the possible inferences that `Series` does, vs what the `maybe_infer_to_datetimelike` function does. And no, I don't know this.

 >  possible inferences that Series does, vs what the maybe_infer_to_datetimelike function does. And no, I don't know this.

So big picture, the goal of this and other recent/upcoming PRs is to make this clearer, or at least less.  In this case by removing usages of maybe_infer_to_datetimelike so we have fewer (ideally just one) flavor of casting.

maybe_infer_to_datetimelike(object_array_of_datetimes) will cast to dt64, but will not cast for object_array_of_intervals.  As a result, `df[newcol] = object_array_of_intervals` stays as object dtype.  This change makes `df[newcol] = object_array_of_intervals` infer to IntervalDtype.