A 'a ThingCollection value is constructed from OneThing, TwoThings, ManyThings, and Nothing constructors to store a collection of 'a values. Write a function flatten collection that takes a 'a ThingCollection as an argument and that returns a 'a ThingCollection that is constructed from a single ManyThings and a single Nothing.

Professor Keen, homework assignment 1, CSC 430 #