I'd put in a vote for protolude. I just started using it on a new project that promises to get quite big, and it's turning out to make life a lot easier. Two things I'd suggest: 1. Don't use a custom prelude for libraries, especially if you're planning to publish them publicly -- only use custom preludes for applications. 2. Treat whatever custom prelude you choose as a starting point, not as something that's fixed in stone. I've been using our custom prelude as a way to provide common utility functions, to work around limitations in some of the dependencies we're using, and so on. If I find myself repeatedly importing a library module into application code, I move it into one of our prelude modules. I'm really liking the approach and wish I'd tried it a long time ago.
Cheers,
Ian.