Why? You can put them in a static class, and if C# ever had this feature, it would just be syntactic sugar for a hidden static class.
But that would mean optimising for "hello world" and other small script scenarios, which isn't a goal of the language design.
> Adopt (files and dirs) instead of forcing namespace declarations
Likewise.
> Structural typing
Like "dynamic" in C# 4 ? Been there, done that and it didn't take off really. It's useful for some interop cases and that's about it. Strong types, with type inference is more suited to the language design.
https://stackoverflow.com/questions/2690623/what-is-the-dyna...
https://docs.microsoft.com/en-us/dotnet/csharp/programming-g...