BUG: IntervalIndex.get_indexer raising for read only array
- [ ] closes #xxxx (Replace xxxx with the GitHub issue number)
- [x] [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
- [x] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [x] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [x] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

Should we just generally go back to using ndarray instead of memoryviews? If we set that expectation could be a good change for new contributors to pick up This change is only necessary because cython does not support const with fused types unfortunately Ah OK. So I guess the pattern is for fused types prefer ndarray (unless that gets fixed/implemented) elsewhere memview? Yep that makes sense I guess >  So I guess the pattern is for fused types prefer ndarray (unless that gets fixed/implemented) elsewhere memview?

And that's also what we already do in most places. For example in groupby.pyx, you will see that we typically use ndarray for the input values (which use a fused type and can be const), while mostly use memoryviews for output values (which are writeable) or labels/mask (which don't use fused types). 
(although it's certainly not exact, I see some cases using ndarray that could use memoryview) merging this, happy to address comments in a follow up.