Hi - <div><br></div><div>I have a function, &quot;f :: Monad m =&gt; a -&gt; m b&quot;, as well as a list of a&#39;s. I&#39;d like to produce a sequence (Data.Sequence) of b&#39;s, given the a&#39;s:</div><div><br></div><div>
g :: [a] -&gt; m (Seq b)</div><div>g a = do Data.Traversable.mapM f a   -- type error!</div><div><br></div><div>I see that &quot;Data.Traversable.mapM f a&quot; doesn&#39;t work... is this like asking the compiler to infer the cons/append operation from the type signature of g?</div>
<div><br></div><div>Do I need to write my own function that explicitly calls the &quot;append&quot; functions from Data.Sequence or can I do something else that would work for any &quot;g :: Traversable t, Traversable u =&gt; t a -&gt; m (u b)&quot; given &quot;f :: a -&gt; m b&quot;?</div>
<div><br></div><div>Thanks for any comments!</div><div>Thomas</div><div><br></div><div><br></div>