> which is what currently happens with > > foldr c n ([x] : build g) Argh. Yes, I meant foldr c n ([x] ++ build g) at the end there. And no, I don't actually *know* if the comment about disastrous code bloat is correct, but I imagine it will be if the folded function is inlined.