Add support for Union, fixes #19