  Two of the most common models for channels with synchronisation errors are
the Binary Deletion Channel with parameter $p$ ($\text{BDC}_p$) -- a channel
where every bit of the codeword is deleted i.i.d with probability $p$, and the
Poisson Repeat Channel with parameter $\lambda$ ($\text{PRC}_\lambda$) -- a
channel where every bit of the codeword is repeated $\text{Poisson}(\lambda)$
times.
  Previous constructions based on synchronisation strings yielded codes with
rates far lower than the capacities of these channels [CS19, GL18], and the
only efficient construction to achieve capacity on the BDC at the time of
writing this paper is based on the far more advanced methods of polar codes
[TPFV21].
  In this work, we present a new method for concatenating synchronisation codes
and use it to construct simple and efficient encoding and decoding algorithms
for both channels with nearly optimal rates.
