fn infer_type_static(e: &Expr, ctx: &mut WalkCtx<'_>) -> WgslType
Stand-alone type inference that doesn’t emit edits — used by the bool pass to peek at an Assign’s LHS type before deciding whether to wrap.