Add type union node to visit
Collapse union types where appropriate
Merge branch 'master' into mammoth