I just want to point out that this is question is not the reverse of
Best approach for designing F# libraries for use from both F# and C#
Here I'm not asking how to design a functional library written C# to be used in both worlds.
I'd like to know good practices on what design choices embrace or avoid to get a reasonable compromise for make this library usable from F#.
Practices like (for example):
keep object hierarchy as simple as possible
avoid mutating state of objects, but return new ones
etc...
Anyone that already done it, can share it's experience?
Side note
It's interesting note this OSS project, IronJS. Yes, it's written in F#, but the author expose two specialized host IronJS.Hosting.FSharp and IronJS.Hosting.CSharp.
