fn walk_expr(e: &Expr, ctx: &mut WalkCtx<'_>) -> WgslType
Walk an expression, return its inferred type. Emit fix-up edits along the way for sub-expressions that look broken.