Type checking chậm do: complex conditional types, deep recursion, large union types, excessive use of infer. Cải thiện: bật incremental compilation, dùng project references, skipLibCheck: true, tránh deeply recursive types, prefer interface over type cho object shapes (merge tốt hơn), dùng tsc --diagnostics để profile.
Lý do prefer interface cho performance: interface types được cached bởi identity — compiler có thể nhanh chóng xác định hai interface references là cùng một type mà không cần re-evaluate. Type alias (đặc biệt là complex types) phải re-evaluate mỗi lần dùng.