Add union

Ok, for real this time? @ttrefren @tdumitrescu 
how about tests for `union` after `set`?