It's funny. When I learned imperative programming, it started easier and then got harder. When I learned functional programming, it went the other way. Here are some thoughts on whether or not moving from C# to F# has to be difficult or not.
(Functional programming, when done well, makes complexity go away. You build pipes and then you don't care what's happening inside of them. Here I am flailing around trying to describe this.)