bug fix on Union and test on fast path