MonadXXX classes/instances for signal