Over the weekend I got a game started with Godot Mono and F#. It works out pretty well, although it relies on using C# to extend types defined in F#. Out of the gate I've taken up a convention of defining a namespace just for defining a type (class) that can be extended by C#, and then abstracting all logic within that namespace to other F# modules, where I try my best to stick to functional principles.