Simplify use of resolveSlice

Elide caller-side check for the code readability.
Use UnionExp in ctfeCat
Consider singletons in UnionExp::copy()