Order-dependency is a feature, not a bug, but it does take some getting used to. If you really want to avoid it, you can now declare all functions in a module to be mutually recursive, so you can put them in any order. Cyclic dependencies between files are still prohibited, for good reason. See
https://fsharpforfunandprofit.com/posts/cyclic-dependencies/.
The F# compiler is slower than the C# compiler, but it's still more than fast enough for building large applications.