DataFrame vs Series vs Index arithmetic Roundup
Categorical:
- [ ] #19513 Comparisons between Categorical, CategoricalIndex, and Series[category] are inconsistent
- [x] #8995 API: comparisons of categorical data and (scalar or list-like)

Series-specific:
- [x] #19252 Series has no `__rdivmod__` (closed by #23271)
- [x] #19322 Series division by zero does not get filled for some dtypes
- [x] #13843 BUG/API Series/Index integer floordiv/mod inconsistency

DataFrame
- [x] #15697 `pd.DataFrame([pd.NaT]).eq(pd.NaT)` returns `NaN` instead of bool.  `==` is OK. (closed by #22163)
- [x] #13128 `DataFrame.__eq__` is raising instead of returning bool (closed by #22163)
- [x] #12437 `DataFrame.sub` broadcasting problem (closed by (I think) #22163)
- [x] #8554 `DataFrame[datetime64] - datetime` is returning `DataFrame[datetime64]` instead of `DataFrame[timedelta64]` (closed by #22163)
- [x] #8932 `pd.Timestamp('2000-01-01') > pd.DataFrame({'x': range(5)})` returns 5 Trues instead of raising (closed by #22163)
- [ ] #9006 datetime64 comparisons raise incorrectly
- [x] #17559 `DataFrame[datetime64] != pd.Series([pd.NaT])` raises (closed by (I think) #22163)
- [x] #20088 ``DataFrame[timedelta64] / timedeltalike`` (closed by #22163)
- [x] #21610 dtype changed when DataFrame add DateOffset (closed by #22163)
- [x] #22005 DataFrame(Timestamp) add Timedelta fails (closed by #22163)
- [x] #18874 DataFrame[datetime64].sub non-nano datetime64 fails (closed by #22163)
- [x]   #22017 Timestamp comparison inconsistency (closed by #22163)

Bool/Bitwise Methods:
- [x] #5035 BUG: bool methods are wrong with DataFrame and Series (or at least wrong error)
- [ ] #16873 ERR: Remove bitwise operations on dtype=object?
- [x] #13896 API: Series/DataFrame logical op NaN propagation

Unsorted:
- [x] #19123 DatetimeIndex + ndarray[int] wrong, reverse op errors (TODO: track down what PR fixed it)
- [x] #15552 BUG: tz-aware datetime with column-wise comparisions failing
- [x] #9369 BUG: binary comparison of numpy.int/float and Series
- [ ] #4615 Inconsistent comparisons between Series and 2-D ndarray
- [ ] #19389 Series[Period] +/- NaT returns Series[datetime64]
- [x] #21980 np.ndarray[object] - Timedelta raises (closed by #22054)
- [x] #19804 DTI/TDI comparison ops with incompatible types
- [x] #22042 BUG: Mismatched Comparisons Inconsistencies
- [x] #22047 Breaking change multiplication bool and int (closed by #22163)
- [x] #7830 Equality comparison raises exception (closed by #22074)
- [x] #11565 Comparing Strings to Numbers: No ValueError
- [x] #20876 Comparing DataFrame with columns with mixed types to a scalar should fail (closed by #22163)
- [ ] #13637 API: Index/Series/DataFrame op 1-d list-like coercion
- [x] #5202 ENH: Period ops NaT & timedelta ops
- [ ] #20442 BUG: None is not equal to None
- [x] #21793 BUG: PeriodIndex comparisons break on listlike
- [x] #12689 ERR: Invalid error reporting when comparing vs None
- [x] #22537 BUG: incorrect casting in ndarray + DataFrame (closed by #22696)
- [x] #5035 BUG: bool methods are wrong with DataFrame and Series (or at least wrong error)
- [x] #5284 Binary operators between DataFrame and Series object doesn't seem to work
- [x] #20090 Mixed-dtype dataframe comparison with array raises incorrectly (closed by #23132)

`TimedeltaIndex` vs `Series[timedelta64]`
- [x] `Series[timedelta64] // timedelta` raises `TypeError`.  See others in #18831. (Closed by #18831)
- [x] `Series[timedelta64]` +/- `TimedeltaIndex` gets cast to int64 #17250. Update: This appears to affect 0.22.0 but no longer affect master as of 2018-01-02.  Needs a test. (closed by #19044)
- [x] `pd.Timedelta('3 hours') / pd.Series([pd.Timedelta('1 day')])` returns `0 days`, not `0.125` (closed by #18831)
- [x] `TimedeltaIndex * Series[int]` returns `TimedeltaIndex` #19042 (closed by #19253)
- [x] `Series[timedelta64] + TimedeltaIndex` inherits name from the latter.  This does not occur in 0.22.0, occurs in master as of 2018-01-02.  #19043 (closed by #19044)
- [x] <s>` TimedeltaIndex + Series[timedelta64]` raises ValueError (TODO: issue?) (Fixed by #18884 but needs test)</s> No original issue, no longer re-producable.
- [x] `TimedeltaIndex + Series[offsets]` gets transposed and returns Series of TimedeltaIndexes.  Analogue to #18849 (closed by #18884 (I think))
 - [x] `TimedeltaIndex` +/- zero-dimensional integer arrays #19012  (closed by #19013)

`DatetimeIndex` vs `Series[datetime64]`
- [x] Series[offsets] + Series[datetime64] raises #19211 (closed sometime before 4ebdc50f250ab2fd4312f8)
- [x] `Series.__sub__` incorrect with non-nano datetime64 #7996 (closed by #18783)
- [x] `Series[datetime64] - pd.NaT` returns datetime64-dtype, `DatetimeIndex - pd.NaT` returns timedelta64-dtype.  #18808, #17837. (closed by #19024)
- [x] `Series` +/- `Series[offsets]` applies element-wise.  `DatetimeIndex` +/- `box([offsets])` raises for `box in [np.array, pd.Index]` and for `box == Series` returns a `Series` of `DatetimeIndex` objects. (Closed by #18849)
- [x] `Series[datetime64tz] - DatetimeIndex[tz]` (with same tz) raises, same with reverse op  #19071. (Fixed by #18884 but needs test) (closed by #19072)
- [x] `DatetimeIndex[tz] + Series[timedelta64]` returns `DatetimeIndex` (?).  Example from #13905 but the behavior seems to have changed since then.  As of late-Dec 2017 behavior is as in #18963. (Closed by #18884)
- [x] `Series` is missing overflow checks #12534 (Note: this is not specific to datetime/timedelta.  Even int64 is missing overflow checks) (closed by #19072 (but only for datetime dtypes)
- [x] `Series[datetime64] - PeriodIndex` is allowed, `DatetimeIndex - PeriodIndex` is not. #18850. (closed by #19024)
- [x] `DatetimeIndex` +/- zero-dimensional integer arrays #19012 (closed by #19013)

`Timedelta` (strictly speaking out of scope)
- [x] `pd.Timedelta(minutes=5, seconds=4) // np.timedelta64('NaT')` --> -1 instead of `NaN`, also messes up for `timedelta / Series([Timedelta, NaT])` (closed by #18961)
