Compilers for polymorphic languages must support
runtime type analysis over arbitrary types for
coding applications like garbage collection, dynamic
linking, pickling, etc. On the other hand, compilers
are increasingly being geared to generate type-safe
object code. Therefore, it is important to support
runtime type analysis in a framework that generates
type correct object code. In this paper, we show how
to integrate runtime type analysis, over arbitrary types,
into a system that can propagate types through all
phases of compilation.