Yes, this is a great feature. Rust also does this, and I attribute substantial portion of ease of refactoring Rust to this feature.