adding sum types to encode lists more easily; needed for the exception stack representation.
added a few pretty printer test