message: Fix codegen of VisitMut for Option
  swc_visit:
  - Fix codegen of VisitMut for Option
diff: @@ -565,15 +565,13 @@ where
  expr = if is_opt_vec(ty) {
  match mode {
  Mode::Fold => expr,
  -
  - Mode::VisitMut => q!(Vars { expr }, { expr.as_mut() }).parse(),
  -
  + Mode::VisitMut => expr,
  Mode::Visit => q!(Vars { expr }, { expr.as_ref().map(|v| &**v) }).parse(),
  }
  } else {
  match mode {
  Mode::Fold => expr,
  - Mode::VisitMut => q!(Vars { expr }, { expr.as_mut() }).parse(),
  + Mode::VisitMut => expr,
  Mode::Visit => q!(Vars { expr }, { expr.as_ref() }).parse(),
  }
  };
  @@ -1106,7 +1104,7 @@ fn create_method_sig(mode: Mode, ty: &Type) -> Signature {
  return mk_exact(
  mode,
  ident,
  - &q!(Vars { item }, { Option<&mut Vec<item>> })
  + &q!(Vars { item }, { &mut Option<Vec<item>> })
  .parse(),
  );
  }
  @@ -1132,7 +1130,7 @@ fn create_method_sig(mode: Mode, ty: &Type) -> Signature {
  return mk_exact(
  mode,
  ident,
  - &q!(Vars { arg }, { Option<&mut arg> }).parse(),
  + &q!(Vars { arg }, { &mut Option<arg> }).parse(),
  );
  }
  Mode::Visit => {
  @@ -1378,10 +1376,7 @@ fn create_method_body(mode: Mode, ty: &Type) -> Block {
  .parse(),
  Mode::VisitMut => q!(
  Vars { ident },
  - ({
  - n.iter_mut()
  - .for_each(|v| _visitor.ident(v.as_mut()))
  - })
  + ({ n.iter_mut().for_each(|v| _visitor.ident(v)) })
  )
  .parse(),
  Mode::Visit => q!(
  