Hi Johan & Daniel, thanks for you answers. I had forgotten the MonadPlus/msum and the trick to use undefined. ... althought the trick with undefined here takes me quiet some time to grasp it ... but now I know my function works lazily. regards, /John