"As used herein, the term container type is defined as a type that contains other types as part of its data model." . . . .