UNB/ CS/ wiki/ teaching/ cs4613/ lectures/ Lecture 13: Algebraic and Union Types