1. A system that facilitates seamless integration of data access in an object oriented host language, comprising: memory; memory coupled to a processor executing: a type system, the type system comprising nominal types, disjoint unions, discriminated unions, tuple types, labeled tuple types, intersection types, non-null types, possibly null types, anonymous delegate types, streams, and array types, the type system restricting covariance to identity conversions on underlying element types, and the type system defining a plurality of type congruencies between types that induce an equivalence; and a data access component that includes a type-directed translation method that lifts member access on a base type of the type system to facilitate access of at least one of semi-structured data or relational data, the data access component comprising operations which can be applied to the types within the type system, the operations comprising normal field access, transitive field access, method calls, delegate invocation, apply-to-all, filter, and construction.