My solution to the Advent of Code Day 1 Problem.
By using types we can make illegal state unrepresentable!