Improve corner case semantics (includes breaking changes)