Union in progress

Currently randomly generated tests are resulting in a cardinality of 0
for who knows what reason. The code however still compiles so lets
chalk this up a victory.