report :: (MonadState (Maybe e) m, Monoid e) => e -> m () 
report e = modify (`mappend` Just e)
report :: (MonadState (Maybe e) m, Monoid e) => e -> m ()
report e = modify (`mappend` Just e)
report e = modify (`mappend` Just e)