union and inter *~almost~*

don't know what to return for the else case of inter.
not sure whats happening with union