We present a solution to the problem of dynamic extension in staticallytyped functional languages with type erasure. The presented solutionretains the benefits of static checking, including type safety,aggressive optimizations, and native code compilation of components,while allowing extensibility of programs at runtime.Our approach is based on a framework for dynamic extension in astatically typed setting, combining dynamic linking, runtime typechecking, first class modules and code hot swapping. We show that thisframework is sufficient to allow a broad class of dynamic extensioncapabilities in any statically typed functional language with typeerasure semantics.Uniquely, we employ the full compile-time type system to perform runtimetype c...