POC: disallow mutating in groupby ops
- [ ] 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

Love the idea. Out of curiosity why do you think this is better to manage in internals than in the groupby itself though? I am somewhat wary of adding more state management internally > Out of curiosity why do you think this is better to manage in internals than in the groupby itself though? I am somewhat wary of adding more state management internally

It isn't clear to me how you would do this in the groupby object.  It's fundamentally the Series/DataFrame that we're trying to disallow mutating, so seems that is where we need to freeze the state.