Здесь Monad выглядит хорошо