REF: check monotonicity inside _can_use_libjoin
- [ ] closes #xxxx (Replace xxxx with the GitHub issue number)
- [ ] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [ ] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [ ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

@lukemanley any interest in taking over on this one?  im at risk of letting it fall through the cracks > @lukemanley any interest in taking over on this one?  im at risk of letting it fall through the cracks

Sure, I'll take this one. It looks like this is now down to one test failure: `test_setitem_mix_of_nan_and_interval`

The underlying issue currently exists on `main` and is similar to #54847.

Now that `Index.is_monotonic_increasing` gets called as part of `Index.is_unique` we're now hitting this behavior in the test:

```
import pandas as pd
from decimal import Decimal

idx = pd.Index([Decimal("NaN"), Decimal("NaN")])

# raises InvalidOperation: [<class 'decimal.InvalidOperation'>]
idx.is_monotonic_increasing
```

We could either check for nulls in `algos.is_monotonic` or put a try/except around `Index.is_unique` to catch this case. Kind of annoying either way it seems. Any other options?
 > or put a try/except around Index.is_unique to catch this case

Where would this live?  some places would be uglier than others.
 > Where would this live? some places would be uglier than others.

Added to the existing try/except in `IndexEngine._do_monotonic_check`

This is now passing all tests. This pull request is stale because it has been open for thirty days with no activity. Please [update](https://pandas.pydata.org/pandas-docs/stable/development/contributing.html#updating-your-pull-request) and respond to this comment if you're still interested in working on this. gentle ping @jbrockmendel if you have any thoughts on this LGTM.  Is the perf issue you noted addressed?  One more merge main and ping on green pls @jbrockmendel - merged main and now green. I think this is ready Thanks @jbrockmendel  thanks @lukemanley 