Fixed project push down.
Improved union handling.
Completed, it remains refactoring.