На самом деле это и есть чистый код с точки зрения императивного языка. Так как изменяемое состояние сложно удерживать в голове нужно минимизировать количество изменяемого состояние в методе как можно сильнее. И использовать базовые конструкции языка, чтобы любой смог прочитать код и понять что там происходит.
В том-то и дело, что императивного. Просто максимально чистого кода можно добиться только декларативным способом