Provisional commit
Merge branch 'union_definition'
Fixed compile issues after merging union_reduction branch into master