Today I played around a bit with the rendering. It still doesn't show convoys, and I'd really like to use curved arrows to represent supports, but I haven't quite figured out the best way to visualize everything.
This project may be my first where I'm attempting to use Haskell to solve a "real" problem, so I've been learning a lot about practical strengths and weaknesses. But I also haven't been able to devote much time to this or other personal projects, as I've been pretty busy lately with Real Life and work.