Add union

Ok, for real this time? @ttrefren @tdumitrescu 
how about that TODO?