Splitting of coherent idempotents

An answer to a question of Martin Escardo.
Does `rewrite concat_pp_p at 1` or similar do what you want?  (It's unclear to me what makes `rewrite` occasionally decide to be `rewrite !`.)