Bom reparo, nunca tinha pensado nisso. Vou passar isso, mas fiquei intrigado. Acho que se tu precisas de fazer um save ali no meio, é porque não estás a fazer a cena à lá FP. Mas agora que falas nisso também acho que poderia acontecer.

Até porque se precisas de persistir no meio, podes ter 2 pure functions, que fazem o antes e o depois e depois na camada acima é que juntas tudo. a FP é fixe por isso, podes compor que função que seria tipo:

(no meio disto tudo resolvi adicionar o que ia poôr aqui no post)