This reads a lot like Rust does it's error-handling too.
Ref: https://www.ruby-lang.org/en/news/2015/12/25/ruby-2-3-0-rele...
https://www.logicbig.com/tutorials/misc/groovy/safe-navigati...
https://www.logicbig.com/tutorials/misc/groovy/elvis-operato...
https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csh...
https://docs.microsoft.com/en-us/archive/msdn-magazine/2014/...
Roslyn compiler, also supporting this operator, was released earlier in the same year, too.
C# also has a Null-Coalescing operator (`??`) which behaves like Rust's `unwrap_or` method.