http://hub.darcs.net/dino/hsmisc