So long, AOP!
Do the monadic stuff more properly