Recursive splits and conversion to Functions
Bug fixes for UnionReduction