For #26218 ### Observations The custom lint rules don't catch many issues. For example: this checks for an illegal use of reader/writer in a function (`containsIllegal(m["fn"]))`), but if the reader/writer code is refactored into a different function, then this check will not fail. Also, the rules lack tests, making them hard to maintain and potentially irrelevant after code is refactored.