Show a TM-recognizable language of TMs can be expressed by TM-description language of equivalent TMs
Let $M$ be the Turing machine recognizing $B$.
Hint
For a Turing machine, try to encode the running time required for $M$ to accept it into itself, so that one can simulate $M$ on it without going into infinite loop.
Complete Answer

 Let $f$ be a computable bijection from $\mathbb{N}_0^2$ to $\mathbb{N}_0$, where $\mathbb{N}_0$ is the set of non-negative integers.

  Define a state of a Turing machine to be isolated if no state can be transitioned to it and it cannot be transitioned to any state. Obviously adding or deleting isolated states does not affect the function of a Turing machine.

  Define $M_d$ to be a decidable Turing machine, which works as follows on input &lt;$M_w$&gt; where $M_w$ is a Turing machine.
 
  Compute the number $n$ of isolated states in $M_w$. 
  Let $(n_1,n_2)=f^{-1}(n)$. 
  Let $M_w'$ be the Turing machine that is almost the same as $M_w$ except it has $n_1$ isolated states. 
  Simulate $M$ on &lt;$M_w'$&gt; with at most $n_2$ steps. 
  If $M$ accepts, accept; otherwise, reject. 
 
  Consider $M_i$ (recall $M$ accepts &lt;$M_i$&gt;). Suppose $M$ runs in total $n_2$ steps on &lt;$M_i$&gt; and $M_i$ has $n_1$ isolated states. Let $M_i'$ be the Turing machine that is almost the same as $M_i$ except it has $f(n_1, n_2)$ isolated states. Now $M_i'$ and $M_i$ are functionally equivalent, and easy to see &lt;$M_i'$&gt; is accepted by $M_d$.

  On the other hand, suppose &lt;$M_w$&gt; is accepted by $M_d$ and $M_w$ has $n=f(n_1,n_2)$ isolated states. Let $M_w'$ be the Turing machine that is almost the same as $M_w$ except it has $n_1$ isolated states. Now $M_w'$ and $M_w$ are functionally equivalent, and easy to see &lt;$M_w'$&gt; is accepted by $M$.

  So the language deciding by $M_d$ is what we want.