It's one of the essentials principles of redux [1] that reducers must be pure functions without side effects.
If you violate that principle, then yes, your assumptions break. That's why you should keep it in mind. You can't really blame the framework if you purposely go against its basic rules.
[1] http://redux.js.org/docs/introduction/ThreePrinciples.html#c...