Solution to the in-class exercise for R07: ADTs and Recursive Data Types.