When using Java 16 and C# 9 the code can almost be Rust/Haskell like, even more in upcoming Java 17 and C# 10.
For example, more pattern matching stuff is coming on both languages.
Still, seems like no destructuring records, but maybe it's not strictly necessary.