I have an object of type FSharpOption, but I don’t know it’s depth. It could be any of…
FSharpOption<Int32>
FSharpOption<FSharpOption<Int32>>
FSharpOption<FSharpOption<FSharpOption<Int32>>>
FSharpOption<FSharpOption<FSharpOption<FSharpOption<Int32>>>>
etc.
Edit: Also note that it isn’t necessarily an Int32. It could be any underlying type.
How do I get at the underling value using VB or C#?
That may not be version independent… how about this minor variation with no dependency on FSharp.Core?