1. A computer implemented system for providing seamless integration of data access in an object-oriented host language by using a type system that implements a set of syntactic constructions that extend the object-oriented paradigm to encompass semi-structured and relational data, the system comprising: a processor; and memory storing a data access component that comprises a type system and a plurality of syntactic constructions, wherein a first syntactic construction of the plurality of syntactic constructions is a tuple type comprising a heterogeneous ordered finite collection of members, wherein at least one of the members is a struct, and wherein the type system provides type directed lifting of member access such that members of the struct are accessed as if they were direct members of the tuple type, wherein a second syntactic construction of the plurality of syntactic constructions is an either type that may be either of a plurality of members having different types, wherein the type system resolves a request to access the either type by performing lifted member access on the either type such that any member of the plurality of members for which the request resolves to a non-null value is returned, and the either type such that any member of the plurality of members for which the request resolves to a non-null value is returned, and wherein a third syntactic construction of the plurality of syntactic constructions is a content class comprising a class that has a single unlabeled type that describes the content of the class.
7. The system of claim 1 wherein a fourth syntactic construction of the plurality of syntactic constructions is a stream type comprising a stream of types, wherein the type system provides type directed lifting of member access to each type in the stream.