Traveling Salesman Haskell

I have been recently trying to learn functional programming better, starting with Haskell, primarily from reading Learn You a Haskell, an excellent resource for getting started. Some friends of mine where implementing the brute force approach to the Traveling salesman problem which inspired me to try it out in Haskell. It is not beautiful, and I would like to try and make some improvements, specifically implementing a fold, but I still had a lot of fun doing it. Source is on GitHub.