It provides a migration path that allows deprecating null entirely. The next step is to deprecate methods like Map#get in favour of versions that return Optionals, ultimately arriving at a language where null can never happen when doing non-deprecated things. It&#x27;s a multi-decade project but I don&#x27;t see any other way to get rid of null while maintaining Java backward compatibility.