''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.