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.