<div><span class="gmail_quote">On 12/6/07, <b class="gmail_sendername">Luke Palmer</b> &lt;<a href="mailto:lrpalmer@gmail.com">lrpalmer@gmail.com</a>&gt; 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.&nbsp;&nbsp;Recently I have<br>started using a function:<br><br>mergeMaybes :: (a -&gt; a -&gt; a) -&gt; Maybe a -&gt; Maybe a -&gt; 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>&nbsp;</div>
<div>mergeMaybes = liftM2 -- from Control.Monad</div><br>&nbsp;</div>