That sounds really cool! I think that forcing oneself to work inside restrictions (however arbitrary) can spur creativity.
Do you use F# often? My experience in functional programming is in Scheme and SML and while I understand the appeal of pithy code I think I'd go crazy trying to organize a large project under that paradigm.
Yeh I use F# often. I used to use OCaml a lot, and to a lesser extent SML (Ocaml is based on SML, F# is based on Ocaml. They are all similar languages). They attraction for me is the extremely good multithreading support, something which Ocaml just plain doesn't and will never have, and which SML doesn't do very well.
I haven't used Scheme a lot, but I do know a little Common Lisp, which is an offshoot from the same parent language. I'm also learning Haskell at the moment, and I would say I am passingly fluent at it.
I find structuring big functional projects is slightly more difficult than object oriented projects. But once done, they almost never needs re-factoring and tend to end up with 'hidden features' instead of hidden bugs. SML has a really nice feature set for functors, as does Ocaml. However F# beats both with its GREAT module system.
I am happy to post whatever code I make if anyone wants to see it.