<div><span class="gmail_quote">On 12/6/07, <b class="gmail_sendername">Luke Palmer</b> <<a href="mailto:lrpalmer@gmail.com">lrpalmer@gmail.com</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">I have actually seen this pattern a lot recently. Recently I have<br>started using a function:<br><br>mergeMaybes :: (a -> a -> a) -> Maybe a -> Maybe a -> Maybe a
<br>mergeMaybes f Nothing y = y<br>mergeMaybes f x Nothing = x<br>mergeMaybes f (Just x) (Just y) = Just (f x y)</blockquote>
<div> </div>
<div>mergeMaybes = liftM2 -- from Control.Monad</div><br> </div>