Why this matters
Preserves type safety and enables better tooling.
Replace any/unknown with inferred generics, unions, or precise interfaces when the shape is known.
Preserves type safety and enables better tooling.
Side-by-side examples engineers can pattern-match during review.
function parse(x: any): any { return JSON.parse(x); }type User={id:string;name:string}; function parseUser(json:string):User{ return JSON.parse(json) as User; }let v: anyfunction id<T>(x:T):T { return x }From the same buckets as this rule.