Post Haskell on Stack Overflow, get great help with the problem *and* a 70% code reduction!