что значит на одну подписку больше? у тебя был стрим тебе надо новый, так для этого создаешь пустой и от старого передаешь в новый (по другому данные из старого не извлеч, и в себя же больше не передать)
Да в смысле Там достаётся текущее значение старого стрима, делается новый стрим с этим значением как начальным, в старый пихается подписка, которая отправляет мапнутые значения в новый стрим
Вообще к слову, тут проблема-то действительно не в выделении памяти, а в том, что сигнал будет разный в завимости от времени, когда мап вызвали, но мб это тоже можно не считать за нарушение
Разный в смысле что там по сравнению с исходным сигналом может быть меньше значений, потому что первые N успели потеряться