1. A computer program product comprising one or more computer storage media having thereon computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, cause the computing system to perform a method for identifying open types of an input program, the method comprising: an act of accessing an input program that includes a plurality of functions and a type hierarchy; and an act of automatically identifying a set of open types in the type hierarchy without using annotations of open types in the input program.