Revert "Much refactoring and development to allow for unions of any arity, and automatic mappings from Either, Option, etc to an equivalent Union representation."

This reverts commit 8949f327ff29cf7f1bc0530a21792cd7ed7d6969.

The commit was applied to the wrong branch.
Revert "Revert "Much refactoring and development to allow for unions of any arity, and automatic mappings from Either, Option, etc to an equivalent Union representation.""

This reverts commit a30ebd6ec588dd304146f2d8310d22968c64a4c2.
Merge branch 'master' into gitlab-master