While considerable progress has been made in the past three years on the static typechecking of object-oriented languages, object- oriented databases pose additional problems. In particular we need to clarify the relationship between type and extent. The relationship EMPLOYEE < PERSON as a relationship between classes or types says something about the inheritance of methods, while in a database context it also means set inclusion. There is an apparent contradiction: how can a set of one type be a subset of a set of some other type? The use of "partially dynamic" types is investigated in order to resolve this issue, which will allow us to deal with heterogeneous collections in a statically typed system. The rules for type checking for heterogeneous collections appear to be closely related to those already developed for manipulating relational databases. If this is the case, then type inference should also be possible. Research plan includes development of a prototype language that demonstrates the feasibility of these ideas.