A Very General Method of Computing Shortest Paths. #haskell