Is there a built-in function that already does this?

foo :: (a -> b) -> Maybe a -> Maybe b
foo f m
  | isNothing m = Nothing
  | otherwise = Just (f (fromJust m))

*Main> foo (+2) (Just 3)
Just 5
*Main> foo (+2) Nothing
Nothing

If so what is it?

If not, what should I call it?

Thanks

-John