I like the purity that might come with decorating basically everything in a codebase with `@freeze_params()`, although I wonder/worry about what the runtime overhead might be. I really wish that something like that could be checked statically.
Performance is bad, I mean, all params are deep-copied because I assume frozen then "inplace" is not intended as they could be objects used by other parts of code.
It looks like mypy can actually understand the hint: https://mypy.readthedocs.io/en/stable/final_attrs.html
It sucks that this would require such a substantial effort throughout a codebase, though. I guess that’s just the inherent cost of typed python.
Thank you for your input!