Not the most elegant, but two stars and only a few hours from start to finish. Part 2 was harder than part 1, and I had to throw out half of my initial solution for part 2.
I am excited to see how Jose Valim solves it.
I've got some improvements in mind (See
README.md), but I'll probably leave this as is and try to incorporate my improvements into tomorrows project.