17. A method performed by a processor of a computer system for resolving a request to access types in a type system comprising: receiving a first request, at the processor, to access a member of a tuple type that includes a struct and at least one other member, wherein the first request is of the format <tuple type name>.<member name> such that the first request is for a direct member of the tuple type; determining, by the processor, that the first request is for a member of the struct rather than for a direct member of the tuple type by accessing a static type of the tuple type and determining the requested member name is the name of a member of the struct; returning, by the processor, the member of the struct having the member name as specified in the first request; and receiving a second request to access an either type that may be either of a plurality of members having different types, and resolving the second request by performing lifted member access on the either type such that any member of the plurality of members for which the second request resolves to a non-null value is returned; wherein the type system also includes a content class syntactic construction comprising a class that has a single unlabeled type that describes the content of the class.
17. A method performed by a processor of a computer system for resolving a request to access types in a type system comprising: receiving a first request, at the processor, to access a member of a tuple type that includes a struct and at least one other member, wherein the first request is of the format <tuple type name>.<member name> such that the first request is for a direct member of the tuple type; determining, by the processor, that the first request is for a member of the struct rather than for a direct member of the tuple type by accessing a static type of the tuple type and determining the requested member name is the name of a member of the struct; returning, by the processor, the member of the struct having the member name as specified in the first request; and receiving a second request to access an either type that may be either of a plurality of members having different types, and resolving the second request by performing lifted member access on the either type such that any member of the plurality of members for which the second request resolves to a non-null value is returned; wherein the type system also includes a content class syntactic construction comprising a class that has a single unlabeled type that describes the content of the class. 18. The method of claim 17 wherein the at least one other member of the tuple type is a second struct that also includes a member having the member name as specified in the first request, the method further comprising: returning a new tuple type that includes the members of both structs having the member name as specified in the first request.