refactors with watchReductionM, whenFlag
Indents Case alternatives correctly