notion on scala monad