I'm using F# to develop an engine for a turn-based strategy game I'm playing with designing. I've found that F#'s mix of functional and OO programing has let me manipulate the data in the game concisely in ways that would be too complicated in an imperative C# to want to do. It's also pretty natural to separate the state-changing actions from the folds and such that determine how the state should change, which definitely helps keep the code simpler and organized.
The biggest trap I may be falling into in the project is using type annotations of tuples for a couple of data types that are used quite intensively in one of the classes. Using tuples makes for pretty concise code, but I'm not sure that using the type annotation in the signature of the functions that use them is sufficient to maintain readable code in some cases.