Expand description
Pre-infer pass eliminating destructuring patterns from Ast.
Runs between crate::parse and [crate::infer]; downstream sees only plain
Let/Const/ObjectRest/ForOf and ParamDecl with pattern: None.
Synthesised array-pattern IndexAccess nodes are tagged in Ast::pattern_origins
so the typechecker can rephrase index errors as destructure-specific diagnostics.