allows for a strange form of algebraic types where...
# announcements
r
allows for a strange form of algebraic types where data constructors can exist in more than one type