That's actually not a Monad :-)
To be a monad, return must be a left and right identity:
x >>= return = x
return x >>= f = f x
By having return do things other than wrapping the value, the monad laws are broken.Similarly, bind cannot have such effects, it would break its associativity.