18. The computer program product of claim 17 , wherein assigning unique union identifiers for union tuples defined by the union relation comprises generating a union id relation for the union relation, wherein the union id relation defines uniquely identified union tuples that each assign a unique number to each of the union tuples.
18. The computer program product of claim 17 , wherein assigning unique union identifiers for union tuples defined by the union relation comprises generating a union id relation for the union relation, wherein the union id relation defines uniquely identified union tuples that each assign a unique number to each of the union tuples. 19. The computer program product of claim 18 , wherein generating respective injector relations for each of the alternative subtypes comprises matching domain identifiers in a domain id relation for the alternative subtype to domain identifiers in a union id relation for the algebraic data type.