The error is arising because par :: a -> b -> b
thus yield (processBlockList emptyBS bl) could be in any monad at all. Note that nothing will actually be yielded by the do-block as you defined it, even if we added a signature. What you seem to be envisaging there, though, would involve simultaneous calculation of elements across the whole length of the initial pipe or rather producer. That would conflict with its being a regular producer, but I will try to piece together more of what you are saying, there's still something I don't get. -- You received this message because you are subscribed to the Google Groups "Haskell Pipes" group. To unsubscribe from this group and stop receiving emails from it, send an email to haskell-pipes+unsubscr...@googlegroups.com. To post to this group, send email to haskell-pipes@googlegroups.com.