Adding a self-intersection point to an immersion I'm currently working on strong Whitney's embedding theorem, using Adachi's notes on Embeddings and Immersions. But I am stuck on a statement that Adachi comments without proof about adding a unique self-intersection to a smooth immersion $f:M^n\to\mathbb{R}^{2n}$ of a $n$-dimensional manifold (page 65, theorem 2.9).
By taking suitable charts the problem can be reduced to the following situation:
Given the cannonical inclusion $f=i:\mathbb{R}^n\hookrightarrow\mathbb{R}^n\times0\subset\mathbb{R}^{2n}$ we can replace it on a ball $B(0)\subset\mathbb{R}^{2n}$ by an specific immersion $\beta:\mathbb{R}^n\to\mathbb{R}^{2n}$ with a unique self-intersection in $B(0)$, to obtain an immersion $g:\mathbb{R}^n\to\mathbb{R}^{2n}$ with a unique self-intersection on $B(0)$ and such that $g=i$ outside $B(0)$.
For example, when $n=1$ we have $f=i:\mathbb{R}\hookrightarrow\mathbb{R}\times0\subset\mathbb{R}^2$ and $\beta:\mathbb{R}\to\mathbb{R}^2$ the immersion given by $\beta(x)=(x-\dfrac{2x}{1+x^2},\dfrac{1}{1+x^2})$ with the unique self-intersection point at $\beta(1)=\beta(-1)=(0,\dfrac{1}{2})$ (see image below).

In this simple case it's natural for my to take a smooth bump function $\lambda:\mathbb{R}\to[0,1]$ such that $\lambda=1$ in $[-2,2]$ and $\lambda=0$ in $\mathbb{R}\setminus]-3,3[$, and then define the convex combination
$$g(x)=(1-\lambda(x))f(x)+\lambda(x)\beta(x)=\left(x-\lambda(x)\dfrac{2x}{1+x^2},\dfrac{\lambda(x)}{1+x^2}\right),$$
wich is a smooth map equal to $\beta$ on $[-2,2]$ and equal to $f=i$ on $\mathbb{R}\setminus]-3,3[$, with a unique self-intersection point at $g(-1)=g(1)=\beta(-1)=\beta(1)=(0,\dfrac{1}{2})$ (see figure below).

My problem is that, even though $g$ is immersion on $[-2,2]\cup(\mathbb{R}\setminus]-3,3[)$ and injective on $]-3.-2[\cup]2.3[$, I can't prove that it's immersion on $]-3.-2[\cup]2.3[$ (purple intermediate part of $g$ in the picture) because I can't have control over the derivative of $\lambda$ in this domain. I also try approximate $g$ with an immersion $\widetilde{g}$ wich coincides with $g$ on $[-2,2]\cup(\mathbb{R}\setminus]-3,3[)$, but this not ensure that the aproximation is injective in $]-3.-2[\cup[2.3]$, wich is required for have only one self-intersection. Finally, I tried to modify $\beta$ to be close enough to $i$ in Whitney's $C^1$ topology with respect to the maximum of the norm of the derivative of $\lambda$, so that the convex combination remains an immersion, but I also had difficulties.
Maybe someone has a hint to solve this in my example, or there is a better way to pasting the immersions $f$ and $\beta$ instead of using the convex combination with bump functions?
 A: This can be done more generally for any target manifold of dimension $2m$, not just $\mathbb R^{2n}$.
Given two immersions $f_i: M_i^m\to N_i^n $, $i=0,1$ we can always construct an immersion $f_0\# f_1 : M_0\#M_1\to N_0\#N_1$ restricting to $f_i$ over the image of the punctured $M_i$ in the connected sum $M_i\setminus \operatorname{int}\mathbb D^m\hookrightarrow M_0\#M_1$.
Indeed the connected sum operation accounts to embedding two disks, removing their interior and gluing the two manifolds along their new spherical boundary component. On the other hand since $f_i$ are immersions locally they are represented by the inclusion $\mathbb D^m\to \mathbb D^m\times\{0\}\subset \mathbb D^n$; by using the disks provided by these charts we see that the $f_i$s match on (neighbourhoods of) the boundary to give $f_0\#f_1$.
Returning to your question, given $f:M^{m}\to \mathbb R^{2m}$, consider an immersion  $g:\mathbb S^m\to \mathbb S^{2m}$ with a single self intersection at points $p_0, p_1\in \mathbb S^m$ (this can be constructed by hand) and take the connected sum $f\# g: M\#\mathbb S^m\to \mathbb R^{2m}\#\mathbb S^{2m}$ (of course the disks must be disjoint from  ${p_0, p_1}$).  The same works for any $N^{2m}$ in place of $\mathbb R^{2m}$.
This argument informally tells you that we can avoid using a bump function and instead use nice gluing maps (identifications), so that the functions that you want to glue are equal to nice local models .
