Hello!

I tried Hoogle, but it didn't seem to have what I was after. I'm looking for something like this:

> maybeWhen :: Bool -> a -> Maybe a
> maybeWhen cond =
>   if cond
>      then Just
>      else const Nothing

Is there a builtin that has the above sort of behaviour? I suppose it can even be generalised:

> maybeWhen :: (MonadPlus m) => Bool -> a -> m a
> maybeWhen cond =
>   if cond
>      then return
>      else const mzero

Tacit