Computation performed in many typical aspects involve side effects. In a purely functional setting, adding such aspects using techniques such as monadification will generally lead to crosscutting changes. This paper presents an approach to provide side-effecting aspects for purely lazy functional languages in a user transparent fashion. We propose a simple yet direct state manipulation construct for developing side-effecting aspects and devise a systematic monadification scheme to translate the woven code to a purely monadic style functional code. Categories and Subject Descriptors D.3.4 [Programming Languages]: Processors—Optimizaation General Terms Design, Languages, Theory, Verification Keywords Aspect-oriented programming, Side-effect, Lazy semantics, Monadification