Type refinement, or monotonic type migration, refers to TypeMigration wherein objects are only refined--migrated from supertypes to subtypes. This sort of type migration is compatible with StaticTyping systems; as it never causes any type declarations/inferences to become invalid.