code: func (v optionalAssignmentVisitor) Visit(n ast.Node) ast.Visitor {
  	switch t := n.(type) {
  	case *ast.AssignStmt:
  		if len(t.Lhs) == 1 && len(t.Rhs) == 1 {
  			if !isFieldSelector(t.Lhs[0], "m", "") {
  				return nil
  			}
  			unary, ok := t.Rhs[0].(*ast.UnaryExpr)
  			if !ok || unary.Op != token.AND {
  				return nil
  			}
  			composite, ok := unary.X.(*ast.CompositeLit)
  			if !ok || composite.Type == nil || len(composite.Elts) != 0 {
  				return nil
  			}
  			if ident, ok := composite.Type.(*ast.Ident); ok && v.fn(ident.Name) {
  				t.Rhs[0] = composite
  			}
  		}
  		return nil
  	}
  	return v
  }
docs: // Visit walks the provided node, transforming field initializations of the form
  // m.Field = &OptionalType{} -> m.Field = OptionalType{}