<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">If you look at this stuff long enough it almost begins to make sense. Maybe. ;-)<br><br>I've been messing around with MonadPlus and I understand its usage with the Maybe and List monads. Since one use of Monads is combining computations, how can I combine a Maybe with a List?<br><br>let m1 = Nothing<br>let m2 = [1]<br>let m3 = m1 `mplus` m2&nbsp; ==&gt; [1]&nbsp;&nbsp;&nbsp; --if the Maybe is Nothing, do nothing&nbsp; <br><br>let m1 = Just 1 <br>let m2 = []<br>let m3 = m1 `mplus` m2&nbsp; ==&gt; [1]&nbsp; --if the Maybe is not Nothing, add it to the list<br><br>Or am I misunderstanding combining computations?<br><br>Michael<br><br></td></tr></table><br>