Some malevolent entity (me) asks you to construct a Turing Machine which, given an input on its tape of the form $LbR$ where $b$ is some binary string, changes this to $Lb^{-1}R$ then halts (where $b^{-1}$ signifies $b$ in reverse order).
For example, given input $L001R$, after the machine halts the tape should be $L100R$
The catch: you only have precisely the input space to use for the computation: i.e., the head of the Turing machine may not move left of the endpoint $L$ nor right of $R$, nor may it write over $L$ or $R$ (it may however move onto them and read them as it would any other letter in its alphabet). Your machine must be able to handle $b$ of arbitrary length. You may assume the head begins on $L$.
The following website may be very helpful for making your machine: https://morphett.info/turing/turing.html.
Bonus: My solution (posted as an answer) uses an alphabet of $3$ (non-endpoint) letters $\{0,1,X\}$ and has $15$ internal states. Can you do better in either capacity (or prove that it is not possible to do so)? I imagine it is impossible to do this with only the letters $\{0,1\}$, but I am not sure how to prove it.