I am running into a crash with FSI on Mac, I can't work around. The same code that produces the crash works when compiled with Visual Studio (for Mac) as regular *.fs module. On Windows it also works with FSI.
Execute the following code with fsharpi on Mac:
open System
type DemoState = { Title : string }
type AppState = { Demo : DemoState }
type Store<'TState>() =
member this.Subscribe<'TSelection> (selector:Func<'TState, 'TSelection>) (callback:Action<'TSelection, 'TState>) =
let c:obj * 'TState -> unit = fun (selection, state) -> callback.Invoke((selection :?> 'TSelection), state)
let s:'TState -> obj = fun state -> (selector.Invoke state) :> obj
let subscription = new Subscription<'TState>(this, c, s)
subscription
and Subscription<'TState>(store:Store<'TState>, callback:obj * 'TState -> unit, selector:'TState -> obj) =
let store = store
member this.Callback = callback
member this.Selector = selector
// Create the store instance
let store = Store()
// Add a subscription
let logSubscription (title:string) (state:AppState) =
printfn "Title: %s" title
printfn "State: %O" state
let selector = Func<AppState, string> (fun state -> state.Demo.Title)
let callback = Action<string, AppState> logSubscription
// And boom
store.Subscribe selector callback
Not to fail.
Failing with
System.ArgumentException: Cannot resolve method Subscription`1 Subscribe[TSelection](System.Func`2[TState,TSelection], System.Action`2[TSelection,TState]) because the declaring type of the method handle FSI_0002+Store`1[TState] is generic. Explicitly provide the declaring type to GetMethodFromHandle.
at System.Reflection.MethodBase.GetMethodFromHandle (System.RuntimeMethodHandle handle) [0x00072] in <ffb99659fc1c47faa4d5f883014d08aa>:0
at System.Reflection.Emit.GenericTypeParameterBuilder.InternalResolve () [0x00019] in <ffb99659fc1c47faa4d5f883014d08aa>:0
at System.Reflection.Emit.TypeBuilderInstantiation.InternalResolve () [0x0001e] in <ffb99659fc1c47faa4d5f883014d08aa>:0
at System.Reflection.Emit.ConstructorOnTypeBuilderInst.RuntimeResolve () [0x00000] in <ffb99659fc1c47faa4d5f883014d08aa>:0
at System.Reflection.Emit.ModuleBuilder.RuntimeResolve (System.Object obj) [0x00080] in <ffb99659fc1c47faa4d5f883014d08aa>:0
at <StartupCode$FSI_0002>.$FSI_0002.main@ () [0x00044] in <0e5e3226a7764792a4247fc606b6c0f1>:0
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00032] in <ffb99659fc1c47faa4d5f883014d08aa>:0
I tracked it down to line 8 and 9. When called with
let c:obj * 'TState -> unit = fun (selection, state) -> ()
let s:'TState -> obj = fun state -> Object()
instead of
let c:obj * 'TState -> unit = fun (selection, state) -> callback.Invoke((selection :?> 'TSelection), state)
let s:'TState -> obj = fun state -> (selector.Invoke state) :> obj
it works.
FSharp.Core 4.2.1 and System.ValueTuple 4.3.1I can confirm its broken on OS X 10.12.6 and mono 5.4.0.123 too.
just for sake of completeness: tried it on master with windows fsi:

seems to work
Just for the sake of not getting confused: It does. Just failing with FSI on Mac.
FSI on Win: OK
VS on Win: OK
VS for Mac: OK
FSI on Mac: NOT OK
@aspnetde yes. but @nosami thought it might be related to fact that mono often has new F# compiler.
anyway @nosami here is it with logRefEmitCalls enabled:
open System
open System.Reflection
open System.Reflection.Emit
let assemblyBuilder41962596 = System.AppDomain.CurrentDomain.DefineDynamicAssembly(AssemblyName(Name="FSI-ASSEMBLY"),enum 3,".")
let moduleBuilder43527150 = assemblyBuilder41962596.DefineDynamicModule("FSI-ASSEMBLY","FSI-ASSEMBLY.dll",true)
let typeBuilder66824994 = moduleBuilder43527150.DefineType("FSI_0001",enum 385)
moduleBuilder43527150.GetType("FSI_0001",false,false) |> ignore
let typeBuilder14993092 = typeBuilder66824994.DefineNestedType("DemoState",enum 8450)
moduleBuilder43527150.GetType("FSI_0001+DemoState",false,false) |> ignore
let typeBuilder55196503 = typeBuilder66824994.DefineNestedType("AppState",enum 8450)
moduleBuilder43527150.GetType("FSI_0001+AppState",false,false) |> ignore
let typeBuilder24827179 = typeBuilder66824994.DefineNestedType("Store`1",enum 8194)
typeBuilder24827179.DefineGenericParameters([|"TState"|])
moduleBuilder43527150.GetType("FSI_0001+Store`1",false,false) |> ignore
let typeBuilder41560081 = typeBuilder66824994.DefineNestedType("Subscription`1",enum 8194)
typeBuilder41560081.DefineGenericParameters([|"TState"|])
moduleBuilder43527150.GetType("FSI_0001+Subscription`1",false,false) |> ignore
let typeBuilder44325851 = typeBuilder66824994.DefineNestedType("c@8",enum 8453)
typeBuilder44325851.DefineGenericParameters([|"TState"; "TSelection"|])
moduleBuilder43527150.GetType("FSI_0001+c@8",false,false) |> ignore
let typeBuilder21224086 = typeBuilder66824994.DefineNestedType("s@9",enum 8453)
typeBuilder21224086.DefineGenericParameters([|"TState"; "TSelection"|])
moduleBuilder43527150.GetType("FSI_0001+s@9",false,false) |> ignore
let typeBuilder3056034 = typeBuilder66824994.DefineNestedType("selector@28",enum 140549)
moduleBuilder43527150.GetType("FSI_0001+selector@28",false,false) |> ignore
let typeBuilder52203868 = typeBuilder66824994.DefineNestedType("callback@29",enum 140549)
moduleBuilder43527150.GetType("FSI_0001+callback@29",false,false) |> ignore
let typeBuilder53046711 = moduleBuilder43527150.DefineType("<StartupCode$FSI_0001>.$FSI_0001",enum 384)
moduleBuilder43527150.GetType("<StartupCode$FSI_0001>.$FSI_0001",false,false) |> ignore
typeBuilder66824994.SetParent(typeof<System.Object>)
typeBuilder14993092.SetParent(typeof<System.Object>)
typeBuilder55196503.SetParent(typeof<System.Object>)
typeBuilder24827179.SetParent(typeof<System.Object>)
typeBuilder41560081.SetParent(typeof<System.Object>)
typeBuilder44325851.SetParent(typeof<>)
typeBuilder21224086.SetParent(typeof<>)
typeBuilder3056034.SetParent(typeof<System.Object>)
typeBuilder52203868.SetParent(typeof<System.Object>)
typeBuilder53046711.SetParent(typeof<System.Object>)
let methodBuilder1197575243 = typeBuilder66824994.DefineMethod("get_store",enum 2070,enum 1)
methodBuilder1197575243.SetParameters([||])
methodBuilder1197575243.SetReturnType(typeof<FSI_0001+Store`1[[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]>)
methodBuilder1197575243.SetImplementationFlags(enum 0)
let methodBuilder189482729 = typeBuilder66824994.DefineMethod("logSubscription",enum 22,enum 1)
methodBuilder189482729.SetParameters([|System.String; FSI_0001+AppState|])
methodBuilder189482729.SetReturnType(typeof<System.Void>)
methodBuilder189482729.SetImplementationFlags(enum 0)
let methodBuilder159149981 = typeBuilder66824994.DefineMethod("get_selector",enum 2070,enum 1)
methodBuilder159149981.SetParameters([||])
methodBuilder159149981.SetReturnType(typeof<System.Func`2[[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]>)
methodBuilder159149981.SetImplementationFlags(enum 0)
let methodBuilder1922111056 = typeBuilder66824994.DefineMethod("get_callback",enum 2070,enum 1)
methodBuilder1922111056.SetParameters([||])
methodBuilder1922111056.SetReturnType(typeof<System.Action`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]>)
methodBuilder1922111056.SetImplementationFlags(enum 0)
let methodBuilder1808710430 = typeBuilder66824994.DefineMethod("get_it",enum 2070,enum 1)
methodBuilder1808710430.SetParameters([||])
methodBuilder1808710430.SetReturnType(typeof<FSI_0001+Subscription`1[[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]>)
methodBuilder1808710430.SetImplementationFlags(enum 0)
let constructorBuilder54778057 = typeBuilder66824994.DefineConstructor(enum 2065,CallingConventions.Standard,[||])
constructorBuilder54778057.SetImplementationFlags(enum 0)
let fieldBuilder30868550 = typeBuilder66824994.DefineField("store@",typeof<FSI_0001+Store`1[[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]>,enum 19)
let fieldBuilder9381496 = typeBuilder66824994.DefineField("selector@",typeof<System.Func`2[[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]>,enum 19)
let fieldBuilder17324607 = typeBuilder66824994.DefineField("callback@",typeof<System.Action`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]>,enum 19)
let fieldBuilder21703739 = typeBuilder66824994.DefineField("it@",typeof<FSI_0001+Subscription`1[[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]>,enum 19)
typeBuilder66824994.DefineProperty(""store"",enum 0,typeof<FSI_0001+Store`1[[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]>,[||])
typeBuilder66824994.DefineProperty(""selector"",enum 0,typeof<System.Func`2[[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]>,[||])
typeBuilder66824994.DefineProperty(""callback"",enum 0,typeof<System.Action`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]>,[||])
typeBuilder66824994.DefineProperty(""it"",enum 0,typeof<FSI_0001+Subscription`1[[FSI_0001+AppState, FSI-ASSEMBLY, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]>,[||])
typeBuilder14993092.AddInterfaceImplementation(System.IEquatable`1[FSI_0001+DemoState])
typeBuilder14993092.AddInterfaceImplementation(System.Collections.IStructuralEquatable)
typeBuilder14993092.AddInterfaceImplementation(System.IComparable`1[FSI_0001+DemoState])
typeBuilder14993092.AddInterfaceImplementation(System.IComparable)
typeBuilder14993092.AddInterfaceImplementation(System.Collections.IStructuralComparable)
let methodBuilder206307845 = typeBuilder14993092.DefineMethod("get_Title",enum 2182,enum 32)
methodBuilder206307845.SetParameters([||])
methodBuilder206307845.SetReturnType(typeof<System.String>)
methodBuilder206307845.SetImplementationFlags(enum 0)
let constructorBuilder39974954 = typeBuilder14993092.DefineConstructor(enum 2054,CallingConventions.HasThis,[|System.String|])
constructorBuilder39974954.SetImplementationFlags(enum 0)
let methodBuilder1274845745 = typeBuilder14993092.DefineMethod("ToString",enum 582,enum 32)
methodBuilder1274845745.SetParameters([||])
methodBuilder1274845745.SetReturnType(typeof<System.String>)
methodBuilder1274845745.SetImplementationFlags(enum 0)
let methodBuilder2021817440 = typeBuilder14993092.DefineMethod("CompareTo",enum 230,enum 32)
methodBuilder2021817440.SetParameters([|FSI_0001+DemoState|])
methodBuilder2021817440.SetReturnType(typeof<System.Int32>)
methodBuilder2021817440.SetImplementationFlags(enum 0)
let methodBuilder2021817440 = typeBuilder14993092.DefineMethod("CompareTo",enum 230,enum 32)
methodBuilder2021817440.SetParameters([|System.Object|])
methodBuilder2021817440.SetReturnType(typeof<System.Int32>)
methodBuilder2021817440.SetImplementationFlags(enum 0)
let methodBuilder2021817440 = typeBuilder14993092.DefineMethod("CompareTo",enum 230,enum 32)
methodBuilder2021817440.SetParameters([|System.Object; System.Collections.IComparer|])
methodBuilder2021817440.SetReturnType(typeof<System.Int32>)
methodBuilder2021817440.SetImplementationFlags(enum 0)
let methodBuilder476607165 = typeBuilder14993092.DefineMethod("GetHashCode",enum 230,enum 32)
methodBuilder476607165.SetParameters([|System.Collections.IEqualityComparer|])
methodBuilder476607165.SetReturnType(typeof<System.Int32>)
methodBuilder476607165.SetImplementationFlags(enum 0)
let methodBuilder476607165 = typeBuilder14993092.DefineMethod("GetHashCode",enum 230,enum 32)
methodBuilder476607165.SetParameters([||])
methodBuilder476607165.SetReturnType(typeof<System.Int32>)
methodBuilder476607165.SetImplementationFlags(enum 0)
let methodBuilder684903346 = typeBuilder14993092.DefineMethod("Equals",enum 230,enum 32)
methodBuilder684903346.SetParameters([|System.Object; System.Collections.IEqualityComparer|])
methodBuilder684903346.SetReturnType(typeof<System.Boolean>)
methodBuilder684903346.SetImplementationFlags(enum 0)
let methodBuilder684903346 = typeBuilder14993092.DefineMethod("Equals",enum 230,enum 32)
methodBuilder684903346.SetParameters([|FSI_0001+DemoState|])
methodBuilder684903346.SetReturnType(typeof<System.Boolean>)
methodBuilder684903346.SetImplementationFlags(enum 0)
let methodBuilder684903346 = typeBuilder14993092.DefineMethod("Equals",enum 230,enum 32)
methodBuilder684903346.SetParameters([|System.Object|])
methodBuilder684903346.SetReturnType(typeof<System.Boolean>)
methodBuilder684903346.SetImplementationFlags(enum 0)
let fieldBuilder31421019 = typeBuilder14993092.DefineField("Title@",typeof<System.String>,enum 3)
typeBuilder14993092.DefineProperty(""Title"",enum 0,typeof<System.String>,[||])
typeBuilder55196503.AddInterfaceImplementation(System.IEquatable`1[FSI_0001+AppState])
typeBuilder55196503.AddInterfaceImplementation(System.Collections.IStructuralEquatable)
typeBuilder55196503.AddInterfaceImplementation(System.IComparable`1[FSI_0001+AppState])
typeBuilder55196503.AddInterfaceImplementation(System.IComparable)
typeBuilder55196503.AddInterfaceImplementation(System.Collections.IStructuralComparable)
let methodBuilder1709024454 = typeBuilder55196503.DefineMethod("get_Demo",enum 2182,enum 32)
methodBuilder1709024454.SetParameters([||])
methodBuilder1709024454.SetReturnType(typeof<FSI_0001+DemoState>)
methodBuilder1709024454.SetImplementationFlags(enum 0)
let constructorBuilder54848996 = typeBuilder55196503.DefineConstructor(enum 2054,CallingConventions.HasThis,[|FSI_0001+DemoState|])
constructorBuilder54848996.SetImplementationFlags(enum 0)
let methodBuilder1274845745 = typeBuilder55196503.DefineMethod("ToString",enum 582,enum 32)
methodBuilder1274845745.SetParameters([||])
methodBuilder1274845745.SetReturnType(typeof<System.String>)
methodBuilder1274845745.SetImplementationFlags(enum 0)
let methodBuilder2021817440 = typeBuilder55196503.DefineMethod("CompareTo",enum 230,enum 32)
methodBuilder2021817440.SetParameters([|FSI_0001+AppState|])
methodBuilder2021817440.SetReturnType(typeof<System.Int32>)
methodBuilder2021817440.SetImplementationFlags(enum 0)
let methodBuilder2021817440 = typeBuilder55196503.DefineMethod("CompareTo",enum 230,enum 32)
methodBuilder2021817440.SetParameters([|System.Object|])
methodBuilder2021817440.SetReturnType(typeof<System.Int32>)
methodBuilder2021817440.SetImplementationFlags(enum 0)
let methodBuilder2021817440 = typeBuilder55196503.DefineMethod("CompareTo",enum 230,enum 32)
methodBuilder2021817440.SetParameters([|System.Object; System.Collections.IComparer|])
methodBuilder2021817440.SetReturnType(typeof<System.Int32>)
methodBuilder2021817440.SetImplementationFlags(enum 0)
let methodBuilder476607165 = typeBuilder55196503.DefineMethod("GetHashCode",enum 230,enum 32)
methodBuilder476607165.SetParameters([|System.Collections.IEqualityComparer|])
methodBuilder476607165.SetReturnType(typeof<System.Int32>)
methodBuilder476607165.SetImplementationFlags(enum 0)
let methodBuilder476607165 = typeBuilder55196503.DefineMethod("GetHashCode",enum 230,enum 32)
methodBuilder476607165.SetParameters([||])
methodBuilder476607165.SetReturnType(typeof<System.Int32>)
methodBuilder476607165.SetImplementationFlags(enum 0)
let methodBuilder684903346 = typeBuilder55196503.DefineMethod("Equals",enum 230,enum 32)
methodBuilder684903346.SetParameters([|System.Object; System.Collections.IEqualityComparer|])
methodBuilder684903346.SetReturnType(typeof<System.Boolean>)
methodBuilder684903346.SetImplementationFlags(enum 0)
let methodBuilder684903346 = typeBuilder55196503.DefineMethod("Equals",enum 230,enum 32)
methodBuilder684903346.SetParameters([|FSI_0001+AppState|])
methodBuilder684903346.SetReturnType(typeof<System.Boolean>)
methodBuilder684903346.SetImplementationFlags(enum 0)
let methodBuilder684903346 = typeBuilder55196503.DefineMethod("Equals",enum 230,enum 32)
methodBuilder684903346.SetParameters([|System.Object|])
methodBuilder684903346.SetReturnType(typeof<System.Boolean>)
methodBuilder684903346.SetImplementationFlags(enum 0)
let fieldBuilder24861802 = typeBuilder55196503.DefineField("Demo@",typeof<FSI_0001+DemoState>,enum 3)
typeBuilder55196503.DefineProperty(""Demo"",enum 0,typeof<FSI_0001+DemoState>,[||])
let constructorBuilder4861097 = typeBuilder24827179.DefineConstructor(enum 2054,CallingConventions.HasThis,[||])
constructorBuilder4861097.SetImplementationFlags(enum 0)
let methodBuilder645425908 = typeBuilder24827179.DefineMethod("Subscribe",enum 134,enum 32)
let gps645425908 = methodBuilder645425908.DefineGenericParameters([|"TSelection"|])
methodBuilder645425908.SetParameters([|System.Func`2[TState,TSelection]; System.Action`2[TSelection,TState]|])
methodBuilder645425908.SetReturnType(typeof<>)
methodBuilder645425908.SetImplementationFlags(enum 0)
let constructorBuilder6503226 = typeBuilder41560081.DefineConstructor(enum 2054,CallingConventions.HasThis,[|FSI_0001+Store`1[TState];
Microsoft.FSharp.Core.FSharpFunc`2[System.Tuple`2[System.Object,TState],Microsoft.FSharp.Core.Unit];
Microsoft.FSharp.Core.FSharpFunc`2[TState,System.Object]|])
constructorBuilder6503226.SetImplementationFlags(enum 0)
let methodBuilder1922110064 = typeBuilder41560081.DefineMethod("get_Callback",enum 2182,enum 32)
methodBuilder1922110064.SetParameters([||])
methodBuilder1922110064.SetReturnType(typeof<>)
methodBuilder1922110064.SetImplementationFlags(enum 0)
let methodBuilder159151229 = typeBuilder41560081.DefineMethod("get_Selector",enum 2182,enum 32)
methodBuilder159151229.SetParameters([||])
methodBuilder159151229.SetReturnType(typeof<>)
methodBuilder159151229.SetImplementationFlags(enum 0)
let fieldBuilder31700771 = typeBuilder41560081.DefineField("selector",typeof<>,enum 3)
let fieldBuilder16871484 = typeBuilder41560081.DefineField("callback",typeof<>,enum 3)
typeBuilder41560081.DefineProperty(""Callback"",enum 0,typeof<>,[||])
typeBuilder41560081.DefineProperty(""Selector"",enum 0,typeof<>,[||])
let constructorBuilder13189358 = typeBuilder44325851.DefineConstructor(enum 2051,CallingConventions.HasThis,[|System.Action`2[TSelection,TState]|])
constructorBuilder13189358.SetImplementationFlags(enum 0)
let methodBuilder1893356988 = typeBuilder44325851.DefineMethod("Invoke",enum 582,enum 32)
methodBuilder1893356988.SetParameters([|System.Tuple`2[System.Object,TState]|])
methodBuilder1893356988.SetReturnType(typeof<Microsoft.FSharp.Core.Unit>)
methodBuilder1893356988.SetImplementationFlags(enum 0)
let fieldBuilder46544415 = typeBuilder44325851.DefineField("callback",typeof<>,enum 6)
let constructorBuilder16246551 = typeBuilder21224086.DefineConstructor(enum 2051,CallingConventions.HasThis,[|System.Func`2[TState,TSelection]|])
constructorBuilder16246551.SetImplementationFlags(enum 0)
let methodBuilder1893356988 = typeBuilder21224086.DefineMethod("Invoke",enum 582,enum 32)
methodBuilder1893356988.SetParameters([|TState|])
methodBuilder1893356988.SetReturnType(typeof<System.Object>)
methodBuilder1893356988.SetImplementationFlags(enum 0)
let fieldBuilder58577354 = typeBuilder21224086.DefineField("selector",typeof<>,enum 6)
let constructorBuilder57434139 = typeBuilder3056034.DefineConstructor(enum 2054,CallingConventions.HasThis,[||])
constructorBuilder57434139.SetImplementationFlags(enum 0)
let methodBuilder1893356988 = typeBuilder3056034.DefineMethod("Invoke",enum 131,enum 32)
methodBuilder1893356988.SetParameters([|FSI_0001+AppState|])
methodBuilder1893356988.SetReturnType(typeof<System.String>)
methodBuilder1893356988.SetImplementationFlags(enum 0)
let constructorBuilder9119245 = typeBuilder52203868.DefineConstructor(enum 2054,CallingConventions.HasThis,[||])
constructorBuilder9119245.SetImplementationFlags(enum 0)
let methodBuilder1893356988 = typeBuilder52203868.DefineMethod("Invoke",enum 131,enum 32)
methodBuilder1893356988.SetParameters([|System.String; FSI_0001+AppState|])
methodBuilder1893356988.SetReturnType(typeof<System.Void>)
methodBuilder1893356988.SetImplementationFlags(enum 0)
let methodBuilder28902278 = typeBuilder53046711.DefineMethod("main@",enum 22,enum 1)
methodBuilder28902278.SetParameters([||])
methodBuilder28902278.SetReturnType(typeof<System.Void>)
methodBuilder28902278.SetImplementationFlags(enum 0)
let fieldBuilder774306 = typeBuilder53046711.DefineField("init@",typeof<System.Int32>,enum 19)
let ilg6968762 = methodBuilder1197575243.GetILGenerator()
ilg6968762.Emit(OpCodes.Ldsfld, fieldBuilder30868550) // field store@
ilg6968762.Emit(OpCodes.Ret)
methodBuilder189482729.DefineParameter(1,enum 0,"title")
methodBuilder189482729.DefineParameter(2,enum 0,"state")
let ilg47063234 = methodBuilder189482729.GetILGenerator()
let label47063234_0 = ilg47063234.DefineLabel()
let label47063234_1 = ilg47063234.DefineLabel()
let label47063234_2 = ilg47063234.DefineLabel()
let label47063234_3 = ilg47063234.DefineLabel()
let label47063234_4 = ilg47063234.DefineLabel()
let label47063234_5 = ilg47063234.DefineLabel()
let label47063234_6 = ilg47063234.DefineLabel()
let label47063234_7 = ilg47063234.DefineLabel()
let label47063234_8 = ilg47063234.DefineLabel()
let docWriter20915929 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg47063234.MarkSequencePoint(docWriter20915929, 25, 5, 25, 24)
ilg47063234.MarkLabel(label47063234_0)
ilg47063234.Emit(OpCodes.Nop)
ilg47063234.Emit(OpCodes.Ldstr,"@Title: %s")
ilg47063234.MarkLabel(label47063234_1)
ilg47063234.Emit(OpCodes.Newobj,constructor_PrintfFormat`5)
ilg47063234.MarkLabel(label47063234_3)
ilg47063234.MarkLabel(label47063234_2)
ilg47063234.Emit(OpCodes.Call, methodBuilder102120580) // method PrintFormatLine
ilg47063234.MarkLabel(label47063234_4)
ilg47063234.Emit(OpCodes.Ldarg, int16 0)
ilg47063234.Emit(OpCodes.Callvirt, methodBuilder27435897) // method Invoke
ilg47063234.Emit(OpCodes.Pop)
let docWriter45596481 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg47063234.MarkSequencePoint(docWriter45596481, 26, 5, 26, 24)
ilg47063234.Emit(OpCodes.Ldstr,"@State: %O")
ilg47063234.MarkLabel(label47063234_5)
ilg47063234.Emit(OpCodes.Newobj,constructor_PrintfFormat`5)
ilg47063234.MarkLabel(label47063234_7)
ilg47063234.MarkLabel(label47063234_6)
ilg47063234.Emit(OpCodes.Call, methodBuilder39070558) // method PrintFormatLine
ilg47063234.MarkLabel(label47063234_8)
ilg47063234.Emit(OpCodes.Ldarg, int16 1)
ilg47063234.Emit(OpCodes.Callvirt, methodBuilder16090703) // method Invoke
ilg47063234.Emit(OpCodes.Pop)
ilg47063234.Emit(OpCodes.Ret)
methodBuilder189482729.SetCustomAttribute(Void .ctor(Int32[]), [|1uy; 0uy; 2uy; 0uy; 0uy; 0uy; 1uy; 0uy; 0uy; 0uy; 1uy; 0uy; 0uy; 0uy; 0uy; 0uy|])
let ilg66572856 = methodBuilder159149981.GetILGenerator()
ilg66572856.Emit(OpCodes.Ldsfld, fieldBuilder9381496) // field selector@
ilg66572856.Emit(OpCodes.Ret)
let ilg62284798 = methodBuilder1922111056.GetILGenerator()
ilg62284798.Emit(OpCodes.Ldsfld, fieldBuilder17324607) // field callback@
ilg62284798.Emit(OpCodes.Ret)
let ilg23692278 = methodBuilder1808710430.GetILGenerator()
ilg23692278.Emit(OpCodes.Ldsfld, fieldBuilder21703739) // field it@
ilg23692278.Emit(OpCodes.Ret)
let docWriter11903911 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg53954942.MarkSequencePoint(docWriter11903911, 16707566, 0, 16707566, 0)
ilg53954942.Emit(OpCodes.Ldc_I4, 0)
ilg53954942.Emit(OpCodes.Stsfld, fieldBuilder774306) // field init@
ilg53954942.Emit(OpCodes.Ldsfld, fieldBuilder774306) // field init@
ilg53954942.Emit(OpCodes.Pop)
ilg53954942.Emit(OpCodes.Ret)
typeBuilder66824994.SetCustomAttribute(Void .ctor(Microsoft.FSharp.Core.SourceConstructFlags), [|1uy; 0uy; 7uy; 0uy; 0uy; 0uy; 0uy; 0uy|])
let ilg52493967 = methodBuilder206307845.GetILGenerator()
ilg52493967.Emit(OpCodes.Ldarg, int16 0)
ilg52493967.Emit(OpCodes.Ldfld, fieldBuilder31421019) // field Title@
ilg52493967.Emit(OpCodes.Ret)
constructorBuilder39974954.DefineParameter(1,enum 0,"title")
ilg24152954.Emit(OpCodes.Ldarg, int16 0)
ilg24152954.Emit(OpCodes.Call,constructor_Object)
ilg24152954.Emit(OpCodes.Ldarg, int16 0)
ilg24152954.Emit(OpCodes.Ldarg, int16 1)
ilg24152954.Emit(OpCodes.Stfld, fieldBuilder31421019) // field Title@
ilg24152954.Emit(OpCodes.Ret)
let ilg16049999 = methodBuilder1274845745.GetILGenerator()
ilg16049999.Emit(OpCodes.Ldstr,"@%+A")
ilg16049999.Emit(OpCodes.Newobj,constructor_PrintfFormat`5)
ilg16049999.Emit(OpCodes.Call, methodBuilder10232270) // method PrintFormatToString
ilg16049999.Emit(OpCodes.Ldarg, int16 0)
ilg16049999.Emit(OpCodes.Callvirt, methodBuilder24981566) // method Invoke
ilg16049999.Emit(OpCodes.Ret)
methodBuilder1274845745.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder2021817440.DefineParameter(1,enum 0,"obj")
let ilg5109846 = methodBuilder2021817440.GetILGenerator()
ilg5109846.DeclareLocal(typeof<System.Collections.IComparer>,false)
let label5109846_0 = ilg5109846.DefineLabel()
let label5109846_1 = ilg5109846.DefineLabel()
let label5109846_2 = ilg5109846.DefineLabel()
let label5109846_3 = ilg5109846.DefineLabel()
let label5109846_4 = ilg5109846.DefineLabel()
let label5109846_5 = ilg5109846.DefineLabel()
let label5109846_6 = ilg5109846.DefineLabel()
let label5109846_7 = ilg5109846.DefineLabel()
let label5109846_8 = ilg5109846.DefineLabel()
let label5109846_9 = ilg5109846.DefineLabel()
let label5109846_10 = ilg5109846.DefineLabel()
let label5109846_11 = ilg5109846.DefineLabel()
let label5109846_12 = ilg5109846.DefineLabel()
let label5109846_13 = ilg5109846.DefineLabel()
let label5109846_14 = ilg5109846.DefineLabel()
let label5109846_15 = ilg5109846.DefineLabel()
let label5109846_16 = ilg5109846.DefineLabel()
let label5109846_17 = ilg5109846.DefineLabel()
let label5109846_18 = ilg5109846.DefineLabel()
let label5109846_19 = ilg5109846.DefineLabel()
let label5109846_20 = ilg5109846.DefineLabel()
let label5109846_21 = ilg5109846.DefineLabel()
let label5109846_22 = ilg5109846.DefineLabel()
let label5109846_23 = ilg5109846.DefineLabel()
let label5109846_24 = ilg5109846.DefineLabel()
let label5109846_25 = ilg5109846.DefineLabel()
let label5109846_26 = ilg5109846.DefineLabel()
let label5109846_27 = ilg5109846.DefineLabel()
let label5109846_28 = ilg5109846.DefineLabel()
let label5109846_29 = ilg5109846.DefineLabel()
let label5109846_30 = ilg5109846.DefineLabel()
let label5109846_31 = ilg5109846.DefineLabel()
let label5109846_32 = ilg5109846.DefineLabel()
ilg5109846.Emit(OpCodes.Nop)
ilg5109846.MarkLabel(label5109846_0)
ilg5109846.Emit(OpCodes.Ldarg, int16 0)
ilg5109846.Emit(OpCodes.Ldnull)
ilg5109846.Emit(OpCodes.Cgt_un)
ilg5109846.Emit(OpCodes.Brfalse,label5109846_17)
ilg5109846.MarkLabel(label5109846_3)
ilg5109846.MarkLabel(label5109846_2)
ilg5109846.MarkLabel(label5109846_1)
ilg5109846.Emit(OpCodes.Ldarg, int16 1)
ilg5109846.Emit(OpCodes.Ldnull)
ilg5109846.Emit(OpCodes.Cgt_un)
ilg5109846.Emit(OpCodes.Brfalse,label5109846_10)
ilg5109846.MarkLabel(label5109846_7)
ilg5109846.MarkLabel(label5109846_6)
ilg5109846.MarkLabel(label5109846_5)
ilg5109846.MarkLabel(label5109846_4)
ilg5109846.Emit(OpCodes.Call, methodBuilder45988614) // method get_GenericComparer
ilg5109846.Emit(OpCodes.Stloc, int16 0)
ilg5109846.Emit(OpCodes.Ldarg, int16 0)
ilg5109846.Emit(OpCodes.Ldfld, fieldBuilder31421019) // field Title@
ilg5109846.Emit(OpCodes.Ldarg, int16 1)
ilg5109846.Emit(OpCodes.Ldfld, fieldBuilder31421019) // field Title@
ilg5109846.Emit(OpCodes.Call, methodBuilder11244347) // method CompareOrdinal
ilg5109846.Emit(OpCodes.Ret)
ilg5109846.MarkLabel(label5109846_13)
ilg5109846.MarkLabel(label5109846_12)
ilg5109846.MarkLabel(label5109846_11)
ilg5109846.MarkLabel(label5109846_10)
ilg5109846.MarkLabel(label5109846_9)
ilg5109846.MarkLabel(label5109846_8)
ilg5109846.Emit(OpCodes.Ldc_I4, 1)
ilg5109846.Emit(OpCodes.Ret)
ilg5109846.MarkLabel(label5109846_20)
ilg5109846.MarkLabel(label5109846_19)
ilg5109846.MarkLabel(label5109846_18)
ilg5109846.MarkLabel(label5109846_17)
ilg5109846.MarkLabel(label5109846_16)
ilg5109846.MarkLabel(label5109846_15)
ilg5109846.MarkLabel(label5109846_14)
ilg5109846.Emit(OpCodes.Ldarg, int16 1)
ilg5109846.Emit(OpCodes.Ldnull)
ilg5109846.Emit(OpCodes.Cgt_un)
ilg5109846.Emit(OpCodes.Brfalse,label5109846_25)
ilg5109846.MarkLabel(label5109846_23)
ilg5109846.MarkLabel(label5109846_22)
ilg5109846.MarkLabel(label5109846_21)
ilg5109846.Emit(OpCodes.Ldc_I4, -1)
ilg5109846.Emit(OpCodes.Ret)
ilg5109846.MarkLabel(label5109846_28)
ilg5109846.MarkLabel(label5109846_27)
ilg5109846.MarkLabel(label5109846_26)
ilg5109846.MarkLabel(label5109846_25)
ilg5109846.MarkLabel(label5109846_24)
ilg5109846.Emit(OpCodes.Ldc_I4, 0)
ilg5109846.Emit(OpCodes.Ret)
ilg5109846.MarkLabel(label5109846_32)
ilg5109846.MarkLabel(label5109846_31)
ilg5109846.MarkLabel(label5109846_30)
ilg5109846.MarkLabel(label5109846_29)
methodBuilder2021817440.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder2021817440.DefineParameter(1,enum 0,"obj")
let ilg65445301 = methodBuilder2021817440.GetILGenerator()
let label65445301_0 = ilg65445301.DefineLabel()
let label65445301_1 = ilg65445301.DefineLabel()
let label65445301_2 = ilg65445301.DefineLabel()
let docWriter52136803 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg65445301.MarkSequencePoint(docWriter52136803, 3, 6, 3, 15)
ilg65445301.MarkLabel(label65445301_0)
ilg65445301.Emit(OpCodes.Nop)
ilg65445301.Emit(OpCodes.Ldarg, int16 0)
ilg65445301.Emit(OpCodes.Ldarg, int16 1)
ilg65445301.Emit(OpCodes.Unbox_any, typeof<FSI_0001+DemoState>)
ilg65445301.MarkLabel(label65445301_1)
ilg65445301.Emit(OpCodes.Callvirt, methodBuilder2021817440) // method CompareTo
ilg65445301.Emit(OpCodes.Ret)
ilg65445301.MarkLabel(label65445301_2)
methodBuilder2021817440.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder2021817440.DefineParameter(1,enum 0,"obj")
methodBuilder2021817440.DefineParameter(2,enum 0,"comp")
let ilg48490504 = methodBuilder2021817440.GetILGenerator()
ilg48490504.DeclareLocal(typeof<FSI_0001+DemoState>,false)
let label48490504_0 = ilg48490504.DefineLabel()
let label48490504_1 = ilg48490504.DefineLabel()
let label48490504_2 = ilg48490504.DefineLabel()
let label48490504_3 = ilg48490504.DefineLabel()
let label48490504_4 = ilg48490504.DefineLabel()
let label48490504_5 = ilg48490504.DefineLabel()
let label48490504_6 = ilg48490504.DefineLabel()
let label48490504_7 = ilg48490504.DefineLabel()
let label48490504_8 = ilg48490504.DefineLabel()
let label48490504_9 = ilg48490504.DefineLabel()
let label48490504_10 = ilg48490504.DefineLabel()
let label48490504_11 = ilg48490504.DefineLabel()
let label48490504_12 = ilg48490504.DefineLabel()
let label48490504_13 = ilg48490504.DefineLabel()
let label48490504_14 = ilg48490504.DefineLabel()
let label48490504_15 = ilg48490504.DefineLabel()
let label48490504_16 = ilg48490504.DefineLabel()
let label48490504_17 = ilg48490504.DefineLabel()
let label48490504_18 = ilg48490504.DefineLabel()
let label48490504_19 = ilg48490504.DefineLabel()
let label48490504_20 = ilg48490504.DefineLabel()
let label48490504_21 = ilg48490504.DefineLabel()
let label48490504_22 = ilg48490504.DefineLabel()
let label48490504_23 = ilg48490504.DefineLabel()
let label48490504_24 = ilg48490504.DefineLabel()
let label48490504_25 = ilg48490504.DefineLabel()
let label48490504_26 = ilg48490504.DefineLabel()
let label48490504_27 = ilg48490504.DefineLabel()
let label48490504_28 = ilg48490504.DefineLabel()
let label48490504_29 = ilg48490504.DefineLabel()
let label48490504_30 = ilg48490504.DefineLabel()
let label48490504_31 = ilg48490504.DefineLabel()
let label48490504_32 = ilg48490504.DefineLabel()
let docWriter33761356 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg48490504.MarkSequencePoint(docWriter33761356, 3, 6, 3, 15)
ilg48490504.MarkLabel(label48490504_0)
ilg48490504.Emit(OpCodes.Nop)
ilg48490504.MarkLabel(label48490504_1)
ilg48490504.Emit(OpCodes.Ldarg, int16 1)
ilg48490504.Emit(OpCodes.Unbox_any, typeof<FSI_0001+DemoState>)
ilg48490504.Emit(OpCodes.Stloc, int16 0)
ilg48490504.Emit(OpCodes.Ldarg, int16 0)
ilg48490504.Emit(OpCodes.Ldnull)
ilg48490504.Emit(OpCodes.Cgt_un)
ilg48490504.Emit(OpCodes.Brfalse,label48490504_16)
ilg48490504.MarkLabel(label48490504_4)
ilg48490504.MarkLabel(label48490504_3)
ilg48490504.MarkLabel(label48490504_2)
ilg48490504.Emit(OpCodes.Ldarg, int16 1)
ilg48490504.Emit(OpCodes.Unbox_any, typeof<FSI_0001+DemoState>)
ilg48490504.Emit(OpCodes.Ldnull)
ilg48490504.Emit(OpCodes.Cgt_un)
ilg48490504.Emit(OpCodes.Brfalse,label48490504_9)
ilg48490504.MarkLabel(label48490504_7)
ilg48490504.MarkLabel(label48490504_6)
ilg48490504.MarkLabel(label48490504_5)
ilg48490504.Emit(OpCodes.Ldarg, int16 0)
ilg48490504.Emit(OpCodes.Ldfld, fieldBuilder31421019) // field Title@
ilg48490504.Emit(OpCodes.Ldloc, int16 0)
ilg48490504.Emit(OpCodes.Ldfld, fieldBuilder31421019) // field Title@
ilg48490504.Emit(OpCodes.Call, methodBuilder11244347) // method CompareOrdinal
ilg48490504.Emit(OpCodes.Ret)
ilg48490504.MarkLabel(label48490504_12)
ilg48490504.MarkLabel(label48490504_11)
ilg48490504.MarkLabel(label48490504_10)
ilg48490504.MarkLabel(label48490504_9)
ilg48490504.MarkLabel(label48490504_8)
ilg48490504.Emit(OpCodes.Ldc_I4, 1)
ilg48490504.Emit(OpCodes.Ret)
ilg48490504.MarkLabel(label48490504_19)
ilg48490504.MarkLabel(label48490504_18)
ilg48490504.MarkLabel(label48490504_17)
ilg48490504.MarkLabel(label48490504_16)
ilg48490504.MarkLabel(label48490504_15)
ilg48490504.MarkLabel(label48490504_14)
ilg48490504.MarkLabel(label48490504_13)
ilg48490504.Emit(OpCodes.Ldarg, int16 1)
ilg48490504.Emit(OpCodes.Unbox_any, typeof<FSI_0001+DemoState>)
ilg48490504.Emit(OpCodes.Ldnull)
ilg48490504.Emit(OpCodes.Cgt_un)
ilg48490504.Emit(OpCodes.Brfalse,label48490504_24)
ilg48490504.MarkLabel(label48490504_22)
ilg48490504.MarkLabel(label48490504_21)
ilg48490504.MarkLabel(label48490504_20)
ilg48490504.Emit(OpCodes.Ldc_I4, -1)
ilg48490504.Emit(OpCodes.Ret)
ilg48490504.MarkLabel(label48490504_27)
ilg48490504.MarkLabel(label48490504_26)
ilg48490504.MarkLabel(label48490504_25)
ilg48490504.MarkLabel(label48490504_24)
ilg48490504.MarkLabel(label48490504_23)
ilg48490504.Emit(OpCodes.Ldc_I4, 0)
ilg48490504.Emit(OpCodes.Ret)
ilg48490504.MarkLabel(label48490504_32)
ilg48490504.MarkLabel(label48490504_31)
ilg48490504.MarkLabel(label48490504_30)
ilg48490504.MarkLabel(label48490504_29)
ilg48490504.MarkLabel(label48490504_28)
methodBuilder2021817440.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder476607165.DefineParameter(1,enum 0,"comp")
let ilg3226198 = methodBuilder476607165.GetILGenerator()
ilg3226198.DeclareLocal(typeof<System.Int32>,false)
ilg3226198.DeclareLocal(typeof<System.String>,false)
let label3226198_0 = ilg3226198.DefineLabel()
let label3226198_1 = ilg3226198.DefineLabel()
let label3226198_2 = ilg3226198.DefineLabel()
let label3226198_3 = ilg3226198.DefineLabel()
let label3226198_4 = ilg3226198.DefineLabel()
let label3226198_5 = ilg3226198.DefineLabel()
let label3226198_6 = ilg3226198.DefineLabel()
let label3226198_7 = ilg3226198.DefineLabel()
let label3226198_8 = ilg3226198.DefineLabel()
let label3226198_9 = ilg3226198.DefineLabel()
let label3226198_10 = ilg3226198.DefineLabel()
let label3226198_11 = ilg3226198.DefineLabel()
let label3226198_12 = ilg3226198.DefineLabel()
let label3226198_13 = ilg3226198.DefineLabel()
let label3226198_14 = ilg3226198.DefineLabel()
let label3226198_15 = ilg3226198.DefineLabel()
let label3226198_16 = ilg3226198.DefineLabel()
let label3226198_17 = ilg3226198.DefineLabel()
let label3226198_18 = ilg3226198.DefineLabel()
let label3226198_19 = ilg3226198.DefineLabel()
let label3226198_20 = ilg3226198.DefineLabel()
let label3226198_21 = ilg3226198.DefineLabel()
let label3226198_22 = ilg3226198.DefineLabel()
let label3226198_23 = ilg3226198.DefineLabel()
let label3226198_24 = ilg3226198.DefineLabel()
ilg3226198.Emit(OpCodes.Nop)
ilg3226198.MarkLabel(label3226198_0)
ilg3226198.Emit(OpCodes.Ldarg, int16 0)
ilg3226198.Emit(OpCodes.Ldnull)
ilg3226198.Emit(OpCodes.Cgt_un)
ilg3226198.Emit(OpCodes.Brfalse,label3226198_19)
ilg3226198.MarkLabel(label3226198_4)
ilg3226198.MarkLabel(label3226198_3)
ilg3226198.MarkLabel(label3226198_2)
ilg3226198.MarkLabel(label3226198_1)
ilg3226198.Emit(OpCodes.Ldc_I4, 0)
ilg3226198.Emit(OpCodes.Stloc, int16 0)
ilg3226198.Emit(OpCodes.Ldc_I4, -1640531527)
ilg3226198.MarkLabel(label3226198_5)
ilg3226198.Emit(OpCodes.Ldarg, int16 0)
ilg3226198.Emit(OpCodes.Ldfld, fieldBuilder31421019) // field Title@
ilg3226198.Emit(OpCodes.Stloc, int16 1)
ilg3226198.Emit(OpCodes.Ldloc, int16 1)
ilg3226198.Emit(OpCodes.Brfalse,label3226198_10)
ilg3226198.MarkLabel(label3226198_8)
ilg3226198.MarkLabel(label3226198_7)
ilg3226198.MarkLabel(label3226198_6)
ilg3226198.Emit(OpCodes.Ldloc, int16 1)
ilg3226198.Emit(OpCodes.Call, methodBuilder29035785) // method GetHashCode
ilg3226198.Emit(OpCodes.Nop)
ilg3226198.Emit(OpCodes.Br,label3226198_15)
ilg3226198.MarkLabel(label3226198_13)
ilg3226198.MarkLabel(label3226198_12)
ilg3226198.MarkLabel(label3226198_11)
ilg3226198.MarkLabel(label3226198_10)
ilg3226198.MarkLabel(label3226198_9)
ilg3226198.Emit(OpCodes.Ldc_I4, 0)
ilg3226198.Emit(OpCodes.Nop)
ilg3226198.MarkLabel(label3226198_16)
ilg3226198.MarkLabel(label3226198_15)
ilg3226198.MarkLabel(label3226198_14)
ilg3226198.Emit(OpCodes.Ldloc, int16 0)
ilg3226198.Emit(OpCodes.Ldc_I4, 6)
ilg3226198.Emit(OpCodes.Shl)
ilg3226198.Emit(OpCodes.Ldloc, int16 0)
ilg3226198.Emit(OpCodes.Ldc_I4, 2)
ilg3226198.Emit(OpCodes.Shr)
ilg3226198.Emit(OpCodes.Add)
ilg3226198.Emit(OpCodes.Add)
ilg3226198.Emit(OpCodes.Add)
ilg3226198.Emit(OpCodes.Stloc, int16 0)
ilg3226198.Emit(OpCodes.Ldloc, int16 0)
ilg3226198.Emit(OpCodes.Ret)
ilg3226198.MarkLabel(label3226198_22)
ilg3226198.MarkLabel(label3226198_21)
ilg3226198.MarkLabel(label3226198_20)
ilg3226198.MarkLabel(label3226198_19)
ilg3226198.MarkLabel(label3226198_18)
ilg3226198.MarkLabel(label3226198_17)
ilg3226198.Emit(OpCodes.Ldc_I4, 0)
ilg3226198.Emit(OpCodes.Ret)
ilg3226198.MarkLabel(label3226198_24)
ilg3226198.MarkLabel(label3226198_23)
methodBuilder476607165.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
let ilg31450711 = methodBuilder476607165.GetILGenerator()
let label31450711_0 = ilg31450711.DefineLabel()
let label31450711_1 = ilg31450711.DefineLabel()
let label31450711_2 = ilg31450711.DefineLabel()
let label31450711_3 = ilg31450711.DefineLabel()
let label31450711_4 = ilg31450711.DefineLabel()
let docWriter14620943 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg31450711.MarkSequencePoint(docWriter14620943, 3, 6, 3, 15)
ilg31450711.MarkLabel(label31450711_1)
ilg31450711.MarkLabel(label31450711_0)
ilg31450711.Emit(OpCodes.Nop)
ilg31450711.Emit(OpCodes.Ldarg, int16 0)
ilg31450711.Emit(OpCodes.Call, methodBuilder25747420) // method get_GenericEqualityComparer
ilg31450711.MarkLabel(label31450711_2)
ilg31450711.Emit(OpCodes.Callvirt, methodBuilder476607165) // method GetHashCode
ilg31450711.Emit(OpCodes.Ret)
ilg31450711.MarkLabel(label31450711_4)
ilg31450711.MarkLabel(label31450711_3)
methodBuilder476607165.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder684903346.DefineParameter(1,enum 0,"obj")
methodBuilder684903346.DefineParameter(2,enum 0,"comp")
let ilg6114302 = methodBuilder684903346.GetILGenerator()
ilg6114302.DeclareLocal(typeof<FSI_0001+DemoState>,false)
let label6114302_0 = ilg6114302.DefineLabel()
let label6114302_1 = ilg6114302.DefineLabel()
let label6114302_2 = ilg6114302.DefineLabel()
let label6114302_3 = ilg6114302.DefineLabel()
let label6114302_4 = ilg6114302.DefineLabel()
let label6114302_5 = ilg6114302.DefineLabel()
let label6114302_6 = ilg6114302.DefineLabel()
let label6114302_7 = ilg6114302.DefineLabel()
let label6114302_8 = ilg6114302.DefineLabel()
let label6114302_9 = ilg6114302.DefineLabel()
let label6114302_10 = ilg6114302.DefineLabel()
let label6114302_11 = ilg6114302.DefineLabel()
let label6114302_12 = ilg6114302.DefineLabel()
let label6114302_13 = ilg6114302.DefineLabel()
let label6114302_14 = ilg6114302.DefineLabel()
let label6114302_15 = ilg6114302.DefineLabel()
let label6114302_16 = ilg6114302.DefineLabel()
let label6114302_17 = ilg6114302.DefineLabel()
let label6114302_18 = ilg6114302.DefineLabel()
let label6114302_19 = ilg6114302.DefineLabel()
let label6114302_20 = ilg6114302.DefineLabel()
let label6114302_21 = ilg6114302.DefineLabel()
let label6114302_22 = ilg6114302.DefineLabel()
let label6114302_23 = ilg6114302.DefineLabel()
ilg6114302.Emit(OpCodes.Nop)
ilg6114302.MarkLabel(label6114302_0)
ilg6114302.Emit(OpCodes.Ldarg, int16 0)
ilg6114302.Emit(OpCodes.Ldnull)
ilg6114302.Emit(OpCodes.Cgt_un)
ilg6114302.Emit(OpCodes.Brfalse,label6114302_17)
ilg6114302.MarkLabel(label6114302_4)
ilg6114302.MarkLabel(label6114302_3)
ilg6114302.MarkLabel(label6114302_2)
ilg6114302.MarkLabel(label6114302_1)
ilg6114302.Emit(OpCodes.Ldarg, int16 1)
ilg6114302.Emit(OpCodes.Isinst, typeof<FSI_0001+DemoState>)
ilg6114302.Emit(OpCodes.Stloc, int16 0)
ilg6114302.Emit(OpCodes.Ldloc, int16 0)
ilg6114302.Emit(OpCodes.Brfalse,label6114302_9)
ilg6114302.MarkLabel(label6114302_7)
ilg6114302.MarkLabel(label6114302_6)
ilg6114302.MarkLabel(label6114302_5)
ilg6114302.Emit(OpCodes.Ldarg, int16 0)
ilg6114302.Emit(OpCodes.Ldfld, fieldBuilder31421019) // field Title@
ilg6114302.Emit(OpCodes.Ldloc, int16 0)
ilg6114302.Emit(OpCodes.Ldfld, fieldBuilder31421019) // field Title@
ilg6114302.Emit(OpCodes.Call, methodBuilder55028720) // method Equals
ilg6114302.Emit(OpCodes.Ret)
ilg6114302.MarkLabel(label6114302_12)
ilg6114302.MarkLabel(label6114302_11)
ilg6114302.MarkLabel(label6114302_10)
ilg6114302.MarkLabel(label6114302_9)
ilg6114302.MarkLabel(label6114302_8)
ilg6114302.Emit(OpCodes.Ldc_I4, 0)
ilg6114302.Emit(OpCodes.Ret)
ilg6114302.MarkLabel(label6114302_20)
ilg6114302.MarkLabel(label6114302_19)
ilg6114302.MarkLabel(label6114302_18)
ilg6114302.MarkLabel(label6114302_17)
ilg6114302.MarkLabel(label6114302_16)
ilg6114302.MarkLabel(label6114302_15)
ilg6114302.MarkLabel(label6114302_14)
ilg6114302.MarkLabel(label6114302_13)
ilg6114302.Emit(OpCodes.Ldarg, int16 1)
ilg6114302.Emit(OpCodes.Ldnull)
ilg6114302.Emit(OpCodes.Cgt_un)
ilg6114302.Emit(OpCodes.Ldc_I4, 0)
ilg6114302.Emit(OpCodes.Ceq)
ilg6114302.Emit(OpCodes.Ret)
ilg6114302.MarkLabel(label6114302_23)
ilg6114302.MarkLabel(label6114302_22)
ilg6114302.MarkLabel(label6114302_21)
methodBuilder684903346.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder684903346.DefineParameter(1,enum 0,"obj")
let ilg18700393 = methodBuilder684903346.GetILGenerator()
let label18700393_0 = ilg18700393.DefineLabel()
let label18700393_1 = ilg18700393.DefineLabel()
let label18700393_2 = ilg18700393.DefineLabel()
let label18700393_3 = ilg18700393.DefineLabel()
let label18700393_4 = ilg18700393.DefineLabel()
let label18700393_5 = ilg18700393.DefineLabel()
let label18700393_6 = ilg18700393.DefineLabel()
let label18700393_7 = ilg18700393.DefineLabel()
let label18700393_8 = ilg18700393.DefineLabel()
let label18700393_9 = ilg18700393.DefineLabel()
let label18700393_10 = ilg18700393.DefineLabel()
let label18700393_11 = ilg18700393.DefineLabel()
let label18700393_12 = ilg18700393.DefineLabel()
let label18700393_13 = ilg18700393.DefineLabel()
let label18700393_14 = ilg18700393.DefineLabel()
let label18700393_15 = ilg18700393.DefineLabel()
let label18700393_16 = ilg18700393.DefineLabel()
let label18700393_17 = ilg18700393.DefineLabel()
let label18700393_18 = ilg18700393.DefineLabel()
let label18700393_19 = ilg18700393.DefineLabel()
let label18700393_20 = ilg18700393.DefineLabel()
let label18700393_21 = ilg18700393.DefineLabel()
ilg18700393.Emit(OpCodes.Nop)
ilg18700393.MarkLabel(label18700393_0)
ilg18700393.Emit(OpCodes.Ldarg, int16 0)
ilg18700393.Emit(OpCodes.Ldnull)
ilg18700393.Emit(OpCodes.Cgt_un)
ilg18700393.Emit(OpCodes.Brfalse,label18700393_15)
ilg18700393.MarkLabel(label18700393_3)
ilg18700393.MarkLabel(label18700393_2)
ilg18700393.MarkLabel(label18700393_1)
ilg18700393.Emit(OpCodes.Ldarg, int16 1)
ilg18700393.Emit(OpCodes.Ldnull)
ilg18700393.Emit(OpCodes.Cgt_un)
ilg18700393.Emit(OpCodes.Brfalse,label18700393_8)
ilg18700393.MarkLabel(label18700393_6)
ilg18700393.MarkLabel(label18700393_5)
ilg18700393.MarkLabel(label18700393_4)
ilg18700393.Emit(OpCodes.Ldarg, int16 0)
ilg18700393.Emit(OpCodes.Ldfld, fieldBuilder31421019) // field Title@
ilg18700393.Emit(OpCodes.Ldarg, int16 1)
ilg18700393.Emit(OpCodes.Ldfld, fieldBuilder31421019) // field Title@
ilg18700393.Emit(OpCodes.Call, methodBuilder55028720) // method Equals
ilg18700393.Emit(OpCodes.Ret)
ilg18700393.MarkLabel(label18700393_11)
ilg18700393.MarkLabel(label18700393_10)
ilg18700393.MarkLabel(label18700393_9)
ilg18700393.MarkLabel(label18700393_8)
ilg18700393.MarkLabel(label18700393_7)
ilg18700393.Emit(OpCodes.Ldc_I4, 0)
ilg18700393.Emit(OpCodes.Ret)
ilg18700393.MarkLabel(label18700393_18)
ilg18700393.MarkLabel(label18700393_17)
ilg18700393.MarkLabel(label18700393_16)
ilg18700393.MarkLabel(label18700393_15)
ilg18700393.MarkLabel(label18700393_14)
ilg18700393.MarkLabel(label18700393_13)
ilg18700393.MarkLabel(label18700393_12)
ilg18700393.Emit(OpCodes.Ldarg, int16 1)
ilg18700393.Emit(OpCodes.Ldnull)
ilg18700393.Emit(OpCodes.Cgt_un)
ilg18700393.Emit(OpCodes.Ldc_I4, 0)
ilg18700393.Emit(OpCodes.Ceq)
ilg18700393.Emit(OpCodes.Ret)
ilg18700393.MarkLabel(label18700393_21)
ilg18700393.MarkLabel(label18700393_20)
ilg18700393.MarkLabel(label18700393_19)
methodBuilder684903346.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder684903346.DefineParameter(1,enum 0,"obj")
let ilg4410728 = methodBuilder684903346.GetILGenerator()
ilg4410728.DeclareLocal(typeof<FSI_0001+DemoState>,false)
let label4410728_0 = ilg4410728.DefineLabel()
let label4410728_1 = ilg4410728.DefineLabel()
let label4410728_2 = ilg4410728.DefineLabel()
let label4410728_3 = ilg4410728.DefineLabel()
let label4410728_4 = ilg4410728.DefineLabel()
let label4410728_5 = ilg4410728.DefineLabel()
let label4410728_6 = ilg4410728.DefineLabel()
let label4410728_7 = ilg4410728.DefineLabel()
let label4410728_8 = ilg4410728.DefineLabel()
let label4410728_9 = ilg4410728.DefineLabel()
let label4410728_10 = ilg4410728.DefineLabel()
let label4410728_11 = ilg4410728.DefineLabel()
let label4410728_12 = ilg4410728.DefineLabel()
let label4410728_13 = ilg4410728.DefineLabel()
let label4410728_14 = ilg4410728.DefineLabel()
ilg4410728.Emit(OpCodes.Nop)
ilg4410728.MarkLabel(label4410728_1)
ilg4410728.MarkLabel(label4410728_0)
ilg4410728.Emit(OpCodes.Ldarg, int16 1)
ilg4410728.Emit(OpCodes.Isinst, typeof<FSI_0001+DemoState>)
ilg4410728.Emit(OpCodes.Stloc, int16 0)
ilg4410728.Emit(OpCodes.Ldloc, int16 0)
ilg4410728.Emit(OpCodes.Brfalse,label4410728_8)
ilg4410728.MarkLabel(label4410728_4)
ilg4410728.MarkLabel(label4410728_3)
ilg4410728.MarkLabel(label4410728_2)
ilg4410728.Emit(OpCodes.Ldarg, int16 0)
ilg4410728.Emit(OpCodes.Ldloc, int16 0)
ilg4410728.MarkLabel(label4410728_5)
ilg4410728.Emit(OpCodes.Callvirt, methodBuilder684903346) // method Equals
ilg4410728.Emit(OpCodes.Ret)
ilg4410728.MarkLabel(label4410728_11)
ilg4410728.MarkLabel(label4410728_10)
ilg4410728.MarkLabel(label4410728_9)
ilg4410728.MarkLabel(label4410728_8)
ilg4410728.MarkLabel(label4410728_7)
ilg4410728.MarkLabel(label4410728_6)
ilg4410728.Emit(OpCodes.Ldc_I4, 0)
ilg4410728.Emit(OpCodes.Ret)
ilg4410728.MarkLabel(label4410728_14)
ilg4410728.MarkLabel(label4410728_13)
ilg4410728.MarkLabel(label4410728_12)
methodBuilder684903346.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
typeBuilder14993092.SetCustomAttribute(Void .ctor(Microsoft.FSharp.Core.SourceConstructFlags), [|1uy; 0uy; 2uy; 0uy; 0uy; 0uy; 0uy; 0uy|])
let ilg45638969 = methodBuilder1709024454.GetILGenerator()
ilg45638969.Emit(OpCodes.Ldarg, int16 0)
ilg45638969.Emit(OpCodes.Ldfld, fieldBuilder24861802) // field Demo@
ilg45638969.Emit(OpCodes.Ret)
constructorBuilder54848996.DefineParameter(1,enum 0,"demo")
ilg5769005.Emit(OpCodes.Ldarg, int16 0)
ilg5769005.Emit(OpCodes.Call,constructor_Object)
ilg5769005.Emit(OpCodes.Ldarg, int16 0)
ilg5769005.Emit(OpCodes.Ldarg, int16 1)
ilg5769005.Emit(OpCodes.Stfld, fieldBuilder24861802) // field Demo@
ilg5769005.Emit(OpCodes.Ret)
let ilg51921052 = methodBuilder1274845745.GetILGenerator()
ilg51921052.Emit(OpCodes.Ldstr,"@%+A")
ilg51921052.Emit(OpCodes.Newobj,constructor_PrintfFormat`5)
ilg51921052.Emit(OpCodes.Call, methodBuilder64636290) // method PrintFormatToString
ilg51921052.Emit(OpCodes.Ldarg, int16 0)
ilg51921052.Emit(OpCodes.Callvirt, methodBuilder44855704) // method Invoke
ilg51921052.Emit(OpCodes.Ret)
methodBuilder1274845745.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder2021817440.DefineParameter(1,enum 0,"obj")
let ilg18437496 = methodBuilder2021817440.GetILGenerator()
ilg18437496.DeclareLocal(typeof<System.Collections.IComparer>,false)
ilg18437496.DeclareLocal(typeof<FSI_0001+DemoState>,false)
ilg18437496.DeclareLocal(typeof<FSI_0001+DemoState>,false)
let label18437496_0 = ilg18437496.DefineLabel()
let label18437496_1 = ilg18437496.DefineLabel()
let label18437496_2 = ilg18437496.DefineLabel()
let label18437496_3 = ilg18437496.DefineLabel()
let label18437496_4 = ilg18437496.DefineLabel()
let label18437496_5 = ilg18437496.DefineLabel()
let label18437496_6 = ilg18437496.DefineLabel()
let label18437496_7 = ilg18437496.DefineLabel()
let label18437496_8 = ilg18437496.DefineLabel()
let label18437496_9 = ilg18437496.DefineLabel()
let label18437496_10 = ilg18437496.DefineLabel()
let label18437496_11 = ilg18437496.DefineLabel()
let label18437496_12 = ilg18437496.DefineLabel()
let label18437496_13 = ilg18437496.DefineLabel()
let label18437496_14 = ilg18437496.DefineLabel()
let label18437496_15 = ilg18437496.DefineLabel()
let label18437496_16 = ilg18437496.DefineLabel()
let label18437496_17 = ilg18437496.DefineLabel()
let label18437496_18 = ilg18437496.DefineLabel()
let label18437496_19 = ilg18437496.DefineLabel()
let label18437496_20 = ilg18437496.DefineLabel()
let label18437496_21 = ilg18437496.DefineLabel()
let label18437496_22 = ilg18437496.DefineLabel()
let label18437496_23 = ilg18437496.DefineLabel()
let label18437496_24 = ilg18437496.DefineLabel()
let label18437496_25 = ilg18437496.DefineLabel()
let label18437496_26 = ilg18437496.DefineLabel()
let label18437496_27 = ilg18437496.DefineLabel()
let label18437496_28 = ilg18437496.DefineLabel()
let label18437496_29 = ilg18437496.DefineLabel()
let label18437496_30 = ilg18437496.DefineLabel()
let label18437496_31 = ilg18437496.DefineLabel()
let label18437496_32 = ilg18437496.DefineLabel()
let label18437496_33 = ilg18437496.DefineLabel()
let label18437496_34 = ilg18437496.DefineLabel()
let label18437496_35 = ilg18437496.DefineLabel()
let label18437496_36 = ilg18437496.DefineLabel()
let label18437496_37 = ilg18437496.DefineLabel()
let label18437496_38 = ilg18437496.DefineLabel()
ilg18437496.Emit(OpCodes.Nop)
ilg18437496.MarkLabel(label18437496_0)
ilg18437496.Emit(OpCodes.Ldarg, int16 0)
ilg18437496.Emit(OpCodes.Ldnull)
ilg18437496.Emit(OpCodes.Cgt_un)
ilg18437496.Emit(OpCodes.Brfalse,label18437496_23)
ilg18437496.MarkLabel(label18437496_3)
ilg18437496.MarkLabel(label18437496_2)
ilg18437496.MarkLabel(label18437496_1)
ilg18437496.Emit(OpCodes.Ldarg, int16 1)
ilg18437496.Emit(OpCodes.Ldnull)
ilg18437496.Emit(OpCodes.Cgt_un)
ilg18437496.Emit(OpCodes.Brfalse,label18437496_16)
ilg18437496.MarkLabel(label18437496_7)
ilg18437496.MarkLabel(label18437496_6)
ilg18437496.MarkLabel(label18437496_5)
ilg18437496.MarkLabel(label18437496_4)
ilg18437496.Emit(OpCodes.Call, methodBuilder31719739) // method get_GenericComparer
ilg18437496.Emit(OpCodes.Stloc, int16 0)
ilg18437496.MarkLabel(label18437496_8)
ilg18437496.Emit(OpCodes.Ldarg, int16 0)
ilg18437496.Emit(OpCodes.Ldfld, fieldBuilder24861802) // field Demo@
ilg18437496.Emit(OpCodes.Stloc, int16 1)
ilg18437496.MarkLabel(label18437496_9)
ilg18437496.Emit(OpCodes.Ldarg, int16 1)
ilg18437496.Emit(OpCodes.Ldfld, fieldBuilder24861802) // field Demo@
ilg18437496.Emit(OpCodes.Stloc, int16 2)
ilg18437496.Emit(OpCodes.Ldloc, int16 1)
ilg18437496.Emit(OpCodes.Ldloc, int16 2)
ilg18437496.Emit(OpCodes.Ldloc, int16 0)
ilg18437496.MarkLabel(label18437496_10)
ilg18437496.Emit(OpCodes.Callvirt, methodBuilder2021817440) // method CompareTo
ilg18437496.Emit(OpCodes.Ret)
ilg18437496.MarkLabel(label18437496_19)
ilg18437496.MarkLabel(label18437496_18)
ilg18437496.MarkLabel(label18437496_17)
ilg18437496.MarkLabel(label18437496_16)
ilg18437496.MarkLabel(label18437496_15)
ilg18437496.MarkLabel(label18437496_14)
ilg18437496.MarkLabel(label18437496_13)
ilg18437496.MarkLabel(label18437496_12)
ilg18437496.MarkLabel(label18437496_11)
ilg18437496.Emit(OpCodes.Ldc_I4, 1)
ilg18437496.Emit(OpCodes.Ret)
ilg18437496.MarkLabel(label18437496_26)
ilg18437496.MarkLabel(label18437496_25)
ilg18437496.MarkLabel(label18437496_24)
ilg18437496.MarkLabel(label18437496_23)
ilg18437496.MarkLabel(label18437496_22)
ilg18437496.MarkLabel(label18437496_21)
ilg18437496.MarkLabel(label18437496_20)
ilg18437496.Emit(OpCodes.Ldarg, int16 1)
ilg18437496.Emit(OpCodes.Ldnull)
ilg18437496.Emit(OpCodes.Cgt_un)
ilg18437496.Emit(OpCodes.Brfalse,label18437496_31)
ilg18437496.MarkLabel(label18437496_29)
ilg18437496.MarkLabel(label18437496_28)
ilg18437496.MarkLabel(label18437496_27)
ilg18437496.Emit(OpCodes.Ldc_I4, -1)
ilg18437496.Emit(OpCodes.Ret)
ilg18437496.MarkLabel(label18437496_34)
ilg18437496.MarkLabel(label18437496_33)
ilg18437496.MarkLabel(label18437496_32)
ilg18437496.MarkLabel(label18437496_31)
ilg18437496.MarkLabel(label18437496_30)
ilg18437496.Emit(OpCodes.Ldc_I4, 0)
ilg18437496.Emit(OpCodes.Ret)
ilg18437496.MarkLabel(label18437496_38)
ilg18437496.MarkLabel(label18437496_37)
ilg18437496.MarkLabel(label18437496_36)
ilg18437496.MarkLabel(label18437496_35)
methodBuilder2021817440.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder2021817440.DefineParameter(1,enum 0,"obj")
let ilg27365507 = methodBuilder2021817440.GetILGenerator()
let label27365507_0 = ilg27365507.DefineLabel()
let label27365507_1 = ilg27365507.DefineLabel()
let label27365507_2 = ilg27365507.DefineLabel()
let docWriter44962972 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg27365507.MarkSequencePoint(docWriter44962972, 4, 6, 4, 14)
ilg27365507.MarkLabel(label27365507_0)
ilg27365507.Emit(OpCodes.Nop)
ilg27365507.Emit(OpCodes.Ldarg, int16 0)
ilg27365507.Emit(OpCodes.Ldarg, int16 1)
ilg27365507.Emit(OpCodes.Unbox_any, typeof<FSI_0001+AppState>)
ilg27365507.MarkLabel(label27365507_1)
ilg27365507.Emit(OpCodes.Callvirt, methodBuilder2021817440) // method CompareTo
ilg27365507.Emit(OpCodes.Ret)
ilg27365507.MarkLabel(label27365507_2)
methodBuilder2021817440.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder2021817440.DefineParameter(1,enum 0,"obj")
methodBuilder2021817440.DefineParameter(2,enum 0,"comp")
let ilg30123835 = methodBuilder2021817440.GetILGenerator()
ilg30123835.DeclareLocal(typeof<FSI_0001+AppState>,false)
ilg30123835.DeclareLocal(typeof<FSI_0001+DemoState>,false)
ilg30123835.DeclareLocal(typeof<FSI_0001+DemoState>,false)
let label30123835_0 = ilg30123835.DefineLabel()
let label30123835_1 = ilg30123835.DefineLabel()
let label30123835_2 = ilg30123835.DefineLabel()
let label30123835_3 = ilg30123835.DefineLabel()
let label30123835_4 = ilg30123835.DefineLabel()
let label30123835_5 = ilg30123835.DefineLabel()
let label30123835_6 = ilg30123835.DefineLabel()
let label30123835_7 = ilg30123835.DefineLabel()
let label30123835_8 = ilg30123835.DefineLabel()
let label30123835_9 = ilg30123835.DefineLabel()
let label30123835_10 = ilg30123835.DefineLabel()
let label30123835_11 = ilg30123835.DefineLabel()
let label30123835_12 = ilg30123835.DefineLabel()
let label30123835_13 = ilg30123835.DefineLabel()
let label30123835_14 = ilg30123835.DefineLabel()
let label30123835_15 = ilg30123835.DefineLabel()
let label30123835_16 = ilg30123835.DefineLabel()
let label30123835_17 = ilg30123835.DefineLabel()
let label30123835_18 = ilg30123835.DefineLabel()
let label30123835_19 = ilg30123835.DefineLabel()
let label30123835_20 = ilg30123835.DefineLabel()
let label30123835_21 = ilg30123835.DefineLabel()
let label30123835_22 = ilg30123835.DefineLabel()
let label30123835_23 = ilg30123835.DefineLabel()
let label30123835_24 = ilg30123835.DefineLabel()
let label30123835_25 = ilg30123835.DefineLabel()
let label30123835_26 = ilg30123835.DefineLabel()
let label30123835_27 = ilg30123835.DefineLabel()
let label30123835_28 = ilg30123835.DefineLabel()
let label30123835_29 = ilg30123835.DefineLabel()
let label30123835_30 = ilg30123835.DefineLabel()
let label30123835_31 = ilg30123835.DefineLabel()
let label30123835_32 = ilg30123835.DefineLabel()
let label30123835_33 = ilg30123835.DefineLabel()
let label30123835_34 = ilg30123835.DefineLabel()
let label30123835_35 = ilg30123835.DefineLabel()
let label30123835_36 = ilg30123835.DefineLabel()
let label30123835_37 = ilg30123835.DefineLabel()
let label30123835_38 = ilg30123835.DefineLabel()
let docWriter2679067 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg30123835.MarkSequencePoint(docWriter2679067, 4, 6, 4, 14)
ilg30123835.MarkLabel(label30123835_0)
ilg30123835.Emit(OpCodes.Nop)
ilg30123835.MarkLabel(label30123835_1)
ilg30123835.Emit(OpCodes.Ldarg, int16 1)
ilg30123835.Emit(OpCodes.Unbox_any, typeof<FSI_0001+AppState>)
ilg30123835.Emit(OpCodes.Stloc, int16 0)
ilg30123835.Emit(OpCodes.Ldarg, int16 0)
ilg30123835.Emit(OpCodes.Ldnull)
ilg30123835.Emit(OpCodes.Cgt_un)
ilg30123835.Emit(OpCodes.Brfalse,label30123835_22)
ilg30123835.MarkLabel(label30123835_4)
ilg30123835.MarkLabel(label30123835_3)
ilg30123835.MarkLabel(label30123835_2)
ilg30123835.Emit(OpCodes.Ldarg, int16 1)
ilg30123835.Emit(OpCodes.Unbox_any, typeof<FSI_0001+AppState>)
ilg30123835.Emit(OpCodes.Ldnull)
ilg30123835.Emit(OpCodes.Cgt_un)
ilg30123835.Emit(OpCodes.Brfalse,label30123835_15)
ilg30123835.MarkLabel(label30123835_8)
ilg30123835.MarkLabel(label30123835_7)
ilg30123835.MarkLabel(label30123835_6)
ilg30123835.MarkLabel(label30123835_5)
ilg30123835.Emit(OpCodes.Ldarg, int16 0)
ilg30123835.Emit(OpCodes.Ldfld, fieldBuilder24861802) // field Demo@
ilg30123835.Emit(OpCodes.Stloc, int16 1)
ilg30123835.MarkLabel(label30123835_9)
ilg30123835.Emit(OpCodes.Ldloc, int16 0)
ilg30123835.Emit(OpCodes.Ldfld, fieldBuilder24861802) // field Demo@
ilg30123835.Emit(OpCodes.Stloc, int16 2)
ilg30123835.Emit(OpCodes.Ldloc, int16 1)
ilg30123835.Emit(OpCodes.Ldloc, int16 2)
ilg30123835.Emit(OpCodes.Ldarg, int16 2)
ilg30123835.MarkLabel(label30123835_10)
ilg30123835.Emit(OpCodes.Callvirt, methodBuilder2021817440) // method CompareTo
ilg30123835.Emit(OpCodes.Ret)
ilg30123835.MarkLabel(label30123835_18)
ilg30123835.MarkLabel(label30123835_17)
ilg30123835.MarkLabel(label30123835_16)
ilg30123835.MarkLabel(label30123835_15)
ilg30123835.MarkLabel(label30123835_14)
ilg30123835.MarkLabel(label30123835_13)
ilg30123835.MarkLabel(label30123835_12)
ilg30123835.MarkLabel(label30123835_11)
ilg30123835.Emit(OpCodes.Ldc_I4, 1)
ilg30123835.Emit(OpCodes.Ret)
ilg30123835.MarkLabel(label30123835_25)
ilg30123835.MarkLabel(label30123835_24)
ilg30123835.MarkLabel(label30123835_23)
ilg30123835.MarkLabel(label30123835_22)
ilg30123835.MarkLabel(label30123835_21)
ilg30123835.MarkLabel(label30123835_20)
ilg30123835.MarkLabel(label30123835_19)
ilg30123835.Emit(OpCodes.Ldarg, int16 1)
ilg30123835.Emit(OpCodes.Unbox_any, typeof<FSI_0001+AppState>)
ilg30123835.Emit(OpCodes.Ldnull)
ilg30123835.Emit(OpCodes.Cgt_un)
ilg30123835.Emit(OpCodes.Brfalse,label30123835_30)
ilg30123835.MarkLabel(label30123835_28)
ilg30123835.MarkLabel(label30123835_27)
ilg30123835.MarkLabel(label30123835_26)
ilg30123835.Emit(OpCodes.Ldc_I4, -1)
ilg30123835.Emit(OpCodes.Ret)
ilg30123835.MarkLabel(label30123835_33)
ilg30123835.MarkLabel(label30123835_32)
ilg30123835.MarkLabel(label30123835_31)
ilg30123835.MarkLabel(label30123835_30)
ilg30123835.MarkLabel(label30123835_29)
ilg30123835.Emit(OpCodes.Ldc_I4, 0)
ilg30123835.Emit(OpCodes.Ret)
ilg30123835.MarkLabel(label30123835_38)
ilg30123835.MarkLabel(label30123835_37)
ilg30123835.MarkLabel(label30123835_36)
ilg30123835.MarkLabel(label30123835_35)
ilg30123835.MarkLabel(label30123835_34)
methodBuilder2021817440.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder476607165.DefineParameter(1,enum 0,"comp")
let ilg21644229 = methodBuilder476607165.GetILGenerator()
ilg21644229.DeclareLocal(typeof<System.Int32>,false)
let label21644229_0 = ilg21644229.DefineLabel()
let label21644229_1 = ilg21644229.DefineLabel()
let label21644229_2 = ilg21644229.DefineLabel()
let label21644229_3 = ilg21644229.DefineLabel()
let label21644229_4 = ilg21644229.DefineLabel()
let label21644229_5 = ilg21644229.DefineLabel()
let label21644229_6 = ilg21644229.DefineLabel()
let label21644229_7 = ilg21644229.DefineLabel()
let label21644229_8 = ilg21644229.DefineLabel()
let label21644229_9 = ilg21644229.DefineLabel()
let label21644229_10 = ilg21644229.DefineLabel()
let label21644229_11 = ilg21644229.DefineLabel()
let label21644229_12 = ilg21644229.DefineLabel()
let label21644229_13 = ilg21644229.DefineLabel()
let label21644229_14 = ilg21644229.DefineLabel()
ilg21644229.Emit(OpCodes.Nop)
ilg21644229.MarkLabel(label21644229_0)
ilg21644229.Emit(OpCodes.Ldarg, int16 0)
ilg21644229.Emit(OpCodes.Ldnull)
ilg21644229.Emit(OpCodes.Cgt_un)
ilg21644229.Emit(OpCodes.Brfalse,label21644229_9)
ilg21644229.MarkLabel(label21644229_4)
ilg21644229.MarkLabel(label21644229_3)
ilg21644229.MarkLabel(label21644229_2)
ilg21644229.MarkLabel(label21644229_1)
ilg21644229.Emit(OpCodes.Ldc_I4, 0)
ilg21644229.Emit(OpCodes.Stloc, int16 0)
ilg21644229.Emit(OpCodes.Ldc_I4, -1640531527)
ilg21644229.Emit(OpCodes.Ldarg, int16 0)
ilg21644229.Emit(OpCodes.Ldfld, fieldBuilder24861802) // field Demo@
ilg21644229.Emit(OpCodes.Ldarg, int16 1)
ilg21644229.MarkLabel(label21644229_5)
ilg21644229.Emit(OpCodes.Callvirt, methodBuilder476607165) // method GetHashCode
ilg21644229.MarkLabel(label21644229_6)
ilg21644229.Emit(OpCodes.Ldloc, int16 0)
ilg21644229.Emit(OpCodes.Ldc_I4, 6)
ilg21644229.Emit(OpCodes.Shl)
ilg21644229.Emit(OpCodes.Ldloc, int16 0)
ilg21644229.Emit(OpCodes.Ldc_I4, 2)
ilg21644229.Emit(OpCodes.Shr)
ilg21644229.Emit(OpCodes.Add)
ilg21644229.Emit(OpCodes.Add)
ilg21644229.Emit(OpCodes.Add)
ilg21644229.Emit(OpCodes.Stloc, int16 0)
ilg21644229.Emit(OpCodes.Ldloc, int16 0)
ilg21644229.Emit(OpCodes.Ret)
ilg21644229.MarkLabel(label21644229_12)
ilg21644229.MarkLabel(label21644229_11)
ilg21644229.MarkLabel(label21644229_10)
ilg21644229.MarkLabel(label21644229_9)
ilg21644229.MarkLabel(label21644229_8)
ilg21644229.MarkLabel(label21644229_7)
ilg21644229.Emit(OpCodes.Ldc_I4, 0)
ilg21644229.Emit(OpCodes.Ret)
ilg21644229.MarkLabel(label21644229_14)
ilg21644229.MarkLabel(label21644229_13)
methodBuilder476607165.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
let ilg37355470 = methodBuilder476607165.GetILGenerator()
let label37355470_0 = ilg37355470.DefineLabel()
let label37355470_1 = ilg37355470.DefineLabel()
let label37355470_2 = ilg37355470.DefineLabel()
let label37355470_3 = ilg37355470.DefineLabel()
let label37355470_4 = ilg37355470.DefineLabel()
let docWriter654914 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg37355470.MarkSequencePoint(docWriter654914, 4, 6, 4, 14)
ilg37355470.MarkLabel(label37355470_1)
ilg37355470.MarkLabel(label37355470_0)
ilg37355470.Emit(OpCodes.Nop)
ilg37355470.Emit(OpCodes.Ldarg, int16 0)
ilg37355470.Emit(OpCodes.Call, methodBuilder25747420) // method get_GenericEqualityComparer
ilg37355470.MarkLabel(label37355470_2)
ilg37355470.Emit(OpCodes.Callvirt, methodBuilder476607165) // method GetHashCode
ilg37355470.Emit(OpCodes.Ret)
ilg37355470.MarkLabel(label37355470_4)
ilg37355470.MarkLabel(label37355470_3)
methodBuilder476607165.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder684903346.DefineParameter(1,enum 0,"obj")
methodBuilder684903346.DefineParameter(2,enum 0,"comp")
let ilg52579650 = methodBuilder684903346.GetILGenerator()
ilg52579650.DeclareLocal(typeof<FSI_0001+AppState>,false)
ilg52579650.DeclareLocal(typeof<FSI_0001+DemoState>,false)
ilg52579650.DeclareLocal(typeof<FSI_0001+DemoState>,false)
let label52579650_0 = ilg52579650.DefineLabel()
let label52579650_1 = ilg52579650.DefineLabel()
let label52579650_2 = ilg52579650.DefineLabel()
let label52579650_3 = ilg52579650.DefineLabel()
let label52579650_4 = ilg52579650.DefineLabel()
let label52579650_5 = ilg52579650.DefineLabel()
let label52579650_6 = ilg52579650.DefineLabel()
let label52579650_7 = ilg52579650.DefineLabel()
let label52579650_8 = ilg52579650.DefineLabel()
let label52579650_9 = ilg52579650.DefineLabel()
let label52579650_10 = ilg52579650.DefineLabel()
let label52579650_11 = ilg52579650.DefineLabel()
let label52579650_12 = ilg52579650.DefineLabel()
let label52579650_13 = ilg52579650.DefineLabel()
let label52579650_14 = ilg52579650.DefineLabel()
let label52579650_15 = ilg52579650.DefineLabel()
let label52579650_16 = ilg52579650.DefineLabel()
let label52579650_17 = ilg52579650.DefineLabel()
let label52579650_18 = ilg52579650.DefineLabel()
let label52579650_19 = ilg52579650.DefineLabel()
let label52579650_20 = ilg52579650.DefineLabel()
let label52579650_21 = ilg52579650.DefineLabel()
let label52579650_22 = ilg52579650.DefineLabel()
let label52579650_23 = ilg52579650.DefineLabel()
let label52579650_24 = ilg52579650.DefineLabel()
let label52579650_25 = ilg52579650.DefineLabel()
let label52579650_26 = ilg52579650.DefineLabel()
let label52579650_27 = ilg52579650.DefineLabel()
let label52579650_28 = ilg52579650.DefineLabel()
let label52579650_29 = ilg52579650.DefineLabel()
ilg52579650.Emit(OpCodes.Nop)
ilg52579650.MarkLabel(label52579650_0)
ilg52579650.Emit(OpCodes.Ldarg, int16 0)
ilg52579650.Emit(OpCodes.Ldnull)
ilg52579650.Emit(OpCodes.Cgt_un)
ilg52579650.Emit(OpCodes.Brfalse,label52579650_23)
ilg52579650.MarkLabel(label52579650_4)
ilg52579650.MarkLabel(label52579650_3)
ilg52579650.MarkLabel(label52579650_2)
ilg52579650.MarkLabel(label52579650_1)
ilg52579650.Emit(OpCodes.Ldarg, int16 1)
ilg52579650.Emit(OpCodes.Isinst, typeof<FSI_0001+AppState>)
ilg52579650.Emit(OpCodes.Stloc, int16 0)
ilg52579650.Emit(OpCodes.Ldloc, int16 0)
ilg52579650.Emit(OpCodes.Brfalse,label52579650_15)
ilg52579650.MarkLabel(label52579650_8)
ilg52579650.MarkLabel(label52579650_7)
ilg52579650.MarkLabel(label52579650_6)
ilg52579650.MarkLabel(label52579650_5)
ilg52579650.Emit(OpCodes.Ldarg, int16 0)
ilg52579650.Emit(OpCodes.Ldfld, fieldBuilder24861802) // field Demo@
ilg52579650.Emit(OpCodes.Stloc, int16 1)
ilg52579650.MarkLabel(label52579650_9)
ilg52579650.Emit(OpCodes.Ldloc, int16 0)
ilg52579650.Emit(OpCodes.Ldfld, fieldBuilder24861802) // field Demo@
ilg52579650.Emit(OpCodes.Stloc, int16 2)
ilg52579650.Emit(OpCodes.Ldloc, int16 1)
ilg52579650.Emit(OpCodes.Ldloc, int16 2)
ilg52579650.Emit(OpCodes.Ldarg, int16 2)
ilg52579650.MarkLabel(label52579650_10)
ilg52579650.Emit(OpCodes.Callvirt, methodBuilder684903346) // method Equals
ilg52579650.Emit(OpCodes.Ret)
ilg52579650.MarkLabel(label52579650_18)
ilg52579650.MarkLabel(label52579650_17)
ilg52579650.MarkLabel(label52579650_16)
ilg52579650.MarkLabel(label52579650_15)
ilg52579650.MarkLabel(label52579650_14)
ilg52579650.MarkLabel(label52579650_13)
ilg52579650.MarkLabel(label52579650_12)
ilg52579650.MarkLabel(label52579650_11)
ilg52579650.Emit(OpCodes.Ldc_I4, 0)
ilg52579650.Emit(OpCodes.Ret)
ilg52579650.MarkLabel(label52579650_26)
ilg52579650.MarkLabel(label52579650_25)
ilg52579650.MarkLabel(label52579650_24)
ilg52579650.MarkLabel(label52579650_23)
ilg52579650.MarkLabel(label52579650_22)
ilg52579650.MarkLabel(label52579650_21)
ilg52579650.MarkLabel(label52579650_20)
ilg52579650.MarkLabel(label52579650_19)
ilg52579650.Emit(OpCodes.Ldarg, int16 1)
ilg52579650.Emit(OpCodes.Ldnull)
ilg52579650.Emit(OpCodes.Cgt_un)
ilg52579650.Emit(OpCodes.Ldc_I4, 0)
ilg52579650.Emit(OpCodes.Ceq)
ilg52579650.Emit(OpCodes.Ret)
ilg52579650.MarkLabel(label52579650_29)
ilg52579650.MarkLabel(label52579650_28)
ilg52579650.MarkLabel(label52579650_27)
methodBuilder684903346.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder684903346.DefineParameter(1,enum 0,"obj")
let ilg59223347 = methodBuilder684903346.GetILGenerator()
let label59223347_0 = ilg59223347.DefineLabel()
let label59223347_1 = ilg59223347.DefineLabel()
let label59223347_2 = ilg59223347.DefineLabel()
let label59223347_3 = ilg59223347.DefineLabel()
let label59223347_4 = ilg59223347.DefineLabel()
let label59223347_5 = ilg59223347.DefineLabel()
let label59223347_6 = ilg59223347.DefineLabel()
let label59223347_7 = ilg59223347.DefineLabel()
let label59223347_8 = ilg59223347.DefineLabel()
let label59223347_9 = ilg59223347.DefineLabel()
let label59223347_10 = ilg59223347.DefineLabel()
let label59223347_11 = ilg59223347.DefineLabel()
let label59223347_12 = ilg59223347.DefineLabel()
let label59223347_13 = ilg59223347.DefineLabel()
let label59223347_14 = ilg59223347.DefineLabel()
let label59223347_15 = ilg59223347.DefineLabel()
let label59223347_16 = ilg59223347.DefineLabel()
let label59223347_17 = ilg59223347.DefineLabel()
let label59223347_18 = ilg59223347.DefineLabel()
let label59223347_19 = ilg59223347.DefineLabel()
let label59223347_20 = ilg59223347.DefineLabel()
let label59223347_21 = ilg59223347.DefineLabel()
let label59223347_22 = ilg59223347.DefineLabel()
let label59223347_23 = ilg59223347.DefineLabel()
ilg59223347.Emit(OpCodes.Nop)
ilg59223347.MarkLabel(label59223347_0)
ilg59223347.Emit(OpCodes.Ldarg, int16 0)
ilg59223347.Emit(OpCodes.Ldnull)
ilg59223347.Emit(OpCodes.Cgt_un)
ilg59223347.Emit(OpCodes.Brfalse,label59223347_17)
ilg59223347.MarkLabel(label59223347_3)
ilg59223347.MarkLabel(label59223347_2)
ilg59223347.MarkLabel(label59223347_1)
ilg59223347.Emit(OpCodes.Ldarg, int16 1)
ilg59223347.Emit(OpCodes.Ldnull)
ilg59223347.Emit(OpCodes.Cgt_un)
ilg59223347.Emit(OpCodes.Brfalse,label59223347_10)
ilg59223347.MarkLabel(label59223347_6)
ilg59223347.MarkLabel(label59223347_5)
ilg59223347.MarkLabel(label59223347_4)
ilg59223347.Emit(OpCodes.Ldarg, int16 0)
ilg59223347.Emit(OpCodes.Ldfld, fieldBuilder24861802) // field Demo@
ilg59223347.Emit(OpCodes.Ldarg, int16 1)
ilg59223347.Emit(OpCodes.Ldfld, fieldBuilder24861802) // field Demo@
ilg59223347.MarkLabel(label59223347_7)
ilg59223347.Emit(OpCodes.Callvirt, methodBuilder684903346) // method Equals
ilg59223347.Emit(OpCodes.Ret)
ilg59223347.MarkLabel(label59223347_13)
ilg59223347.MarkLabel(label59223347_12)
ilg59223347.MarkLabel(label59223347_11)
ilg59223347.MarkLabel(label59223347_10)
ilg59223347.MarkLabel(label59223347_9)
ilg59223347.MarkLabel(label59223347_8)
ilg59223347.Emit(OpCodes.Ldc_I4, 0)
ilg59223347.Emit(OpCodes.Ret)
ilg59223347.MarkLabel(label59223347_20)
ilg59223347.MarkLabel(label59223347_19)
ilg59223347.MarkLabel(label59223347_18)
ilg59223347.MarkLabel(label59223347_17)
ilg59223347.MarkLabel(label59223347_16)
ilg59223347.MarkLabel(label59223347_15)
ilg59223347.MarkLabel(label59223347_14)
ilg59223347.Emit(OpCodes.Ldarg, int16 1)
ilg59223347.Emit(OpCodes.Ldnull)
ilg59223347.Emit(OpCodes.Cgt_un)
ilg59223347.Emit(OpCodes.Ldc_I4, 0)
ilg59223347.Emit(OpCodes.Ceq)
ilg59223347.Emit(OpCodes.Ret)
ilg59223347.MarkLabel(label59223347_23)
ilg59223347.MarkLabel(label59223347_22)
ilg59223347.MarkLabel(label59223347_21)
methodBuilder684903346.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
methodBuilder684903346.DefineParameter(1,enum 0,"obj")
let ilg60232767 = methodBuilder684903346.GetILGenerator()
ilg60232767.DeclareLocal(typeof<FSI_0001+AppState>,false)
let label60232767_0 = ilg60232767.DefineLabel()
let label60232767_1 = ilg60232767.DefineLabel()
let label60232767_2 = ilg60232767.DefineLabel()
let label60232767_3 = ilg60232767.DefineLabel()
let label60232767_4 = ilg60232767.DefineLabel()
let label60232767_5 = ilg60232767.DefineLabel()
let label60232767_6 = ilg60232767.DefineLabel()
let label60232767_7 = ilg60232767.DefineLabel()
let label60232767_8 = ilg60232767.DefineLabel()
let label60232767_9 = ilg60232767.DefineLabel()
let label60232767_10 = ilg60232767.DefineLabel()
let label60232767_11 = ilg60232767.DefineLabel()
let label60232767_12 = ilg60232767.DefineLabel()
let label60232767_13 = ilg60232767.DefineLabel()
let label60232767_14 = ilg60232767.DefineLabel()
ilg60232767.Emit(OpCodes.Nop)
ilg60232767.MarkLabel(label60232767_1)
ilg60232767.MarkLabel(label60232767_0)
ilg60232767.Emit(OpCodes.Ldarg, int16 1)
ilg60232767.Emit(OpCodes.Isinst, typeof<FSI_0001+AppState>)
ilg60232767.Emit(OpCodes.Stloc, int16 0)
ilg60232767.Emit(OpCodes.Ldloc, int16 0)
ilg60232767.Emit(OpCodes.Brfalse,label60232767_8)
ilg60232767.MarkLabel(label60232767_4)
ilg60232767.MarkLabel(label60232767_3)
ilg60232767.MarkLabel(label60232767_2)
ilg60232767.Emit(OpCodes.Ldarg, int16 0)
ilg60232767.Emit(OpCodes.Ldloc, int16 0)
ilg60232767.MarkLabel(label60232767_5)
ilg60232767.Emit(OpCodes.Callvirt, methodBuilder684903346) // method Equals
ilg60232767.Emit(OpCodes.Ret)
ilg60232767.MarkLabel(label60232767_11)
ilg60232767.MarkLabel(label60232767_10)
ilg60232767.MarkLabel(label60232767_9)
ilg60232767.MarkLabel(label60232767_8)
ilg60232767.MarkLabel(label60232767_7)
ilg60232767.MarkLabel(label60232767_6)
ilg60232767.Emit(OpCodes.Ldc_I4, 0)
ilg60232767.Emit(OpCodes.Ret)
ilg60232767.MarkLabel(label60232767_14)
ilg60232767.MarkLabel(label60232767_13)
ilg60232767.MarkLabel(label60232767_12)
methodBuilder684903346.SetCustomAttribute(Void .ctor(), [|1uy; 0uy; 0uy; 0uy|])
typeBuilder55196503.SetCustomAttribute(Void .ctor(Microsoft.FSharp.Core.SourceConstructFlags), [|1uy; 0uy; 2uy; 0uy; 0uy; 0uy; 0uy; 0uy|])
let label21522166_0 = ilg21522166.DefineLabel()
let label21522166_1 = ilg21522166.DefineLabel()
let label21522166_2 = ilg21522166.DefineLabel()
let docWriter59481773 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg21522166.MarkSequencePoint(docWriter59481773, 6, 6, 6, 11)
ilg21522166.MarkLabel(label21522166_1)
ilg21522166.MarkLabel(label21522166_0)
ilg21522166.Emit(OpCodes.Ldarg, int16 0)
ilg21522166.Emit(OpCodes.Callvirt,constructor_Object)
ilg21522166.Emit(OpCodes.Ldarg, int16 0)
ilg21522166.Emit(OpCodes.Pop)
ilg21522166.Emit(OpCodes.Nop)
ilg21522166.Emit(OpCodes.Ret)
ilg21522166.MarkLabel(label21522166_2)
methodBuilder645425908.DefineParameter(1,enum 0,"selector")
methodBuilder645425908.DefineParameter(2,enum 0,"callback")
let ilg2533231 = methodBuilder645425908.GetILGenerator()
ilg2533231.DeclareLocal(typeof<>,false)
ilg2533231.DeclareLocal(typeof<>,false)
let label2533231_0 = ilg2533231.DefineLabel()
let label2533231_1 = ilg2533231.DefineLabel()
let label2533231_2 = ilg2533231.DefineLabel()
let label2533231_3 = ilg2533231.DefineLabel()
let label2533231_4 = ilg2533231.DefineLabel()
let label2533231_5 = ilg2533231.DefineLabel()
let label2533231_6 = ilg2533231.DefineLabel()
let docWriter22799085 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg2533231.MarkSequencePoint(docWriter22799085, 11, 28, 11, 65)
ilg2533231.MarkLabel(label2533231_0)
ilg2533231.Emit(OpCodes.Nop)
ilg2533231.MarkLabel(label2533231_1)
ilg2533231.Emit(OpCodes.Ldarg, int16 2)
ilg2533231.Emit(OpCodes.Newobj,constructor_c@8)
ilg2533231.Emit(OpCodes.Stloc, int16 0)
let docWriter56885004 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg2533231.MarkSequencePoint(docWriter56885004, 11, 28, 11, 65)
ilg2533231.MarkLabel(label2533231_2)
ilg2533231.Emit(OpCodes.Ldarg, int16 1)
ilg2533231.Emit(OpCodes.Newobj,constructor_s@9)
ilg2533231.Emit(OpCodes.Stloc, int16 1)
let docWriter1815156 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg2533231.MarkSequencePoint(docWriter1815156, 11, 28, 11, 65)
ilg2533231.Emit(OpCodes.Ldarg, int16 0)
ilg2533231.Emit(OpCodes.Ldloc, int16 0)
ilg2533231.Emit(OpCodes.Ldloc, int16 1)
ilg2533231.MarkLabel(label2533231_3)
ilg2533231.Emit(OpCodes.Newobj,constructor_Subscription`1)
ilg2533231.Emit(OpCodes.Ret)
ilg2533231.MarkLabel(label2533231_6)
ilg2533231.MarkLabel(label2533231_5)
ilg2533231.MarkLabel(label2533231_4)
methodBuilder645425908.SetCustomAttribute(Void .ctor(Int32[]), [|1uy; 0uy; 2uy; 0uy; 0uy; 0uy; 1uy; 0uy; 0uy; 0uy; 1uy; 0uy; 0uy; 0uy; 0uy; 0uy|])
typeBuilder24827179.SetCustomAttribute(Void .ctor(Microsoft.FSharp.Core.SourceConstructFlags), [|1uy; 0uy; 3uy; 0uy; 0uy; 0uy; 0uy; 0uy|])
constructorBuilder6503226.DefineParameter(1,enum 0,"store")
constructorBuilder6503226.DefineParameter(2,enum 0,"callback")
constructorBuilder6503226.DefineParameter(3,enum 0,"selector")
let label17216995_0 = ilg17216995.DefineLabel()
let docWriter20735233 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg17216995.MarkSequencePoint(docWriter20735233, 15, 49, 15, 57)
ilg17216995.MarkLabel(label17216995_0)
ilg17216995.Emit(OpCodes.Ldarg, int16 0)
ilg17216995.Emit(OpCodes.Callvirt,constructor_Object)
ilg17216995.Emit(OpCodes.Ldarg, int16 0)
ilg17216995.Emit(OpCodes.Pop)
ilg17216995.Emit(OpCodes.Nop)
ilg17216995.Emit(OpCodes.Ldarg, int16 0)
ilg17216995.Emit(OpCodes.Ldarg, int16 2)
ilg17216995.Emit(OpCodes.Stfld, fieldBuilder22367029) // field callback
let docWriter67085535 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg17216995.MarkSequencePoint(docWriter67085535, 15, 81, 15, 89)
ilg17216995.Emit(OpCodes.Ldarg, int16 0)
ilg17216995.Emit(OpCodes.Ldarg, int16 3)
ilg17216995.Emit(OpCodes.Stfld, fieldBuilder58713911) // field selector
let docWriter58663159 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg17216995.MarkSequencePoint(docWriter58663159, 15, 5, 15, 17)
ilg17216995.Emit(OpCodes.Ret)
let ilg16555740 = methodBuilder1922110064.GetILGenerator()
let label16555740_0 = ilg16555740.DefineLabel()
let label16555740_1 = ilg16555740.DefineLabel()
let label16555740_2 = ilg16555740.DefineLabel()
let docWriter14783937 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg16555740.MarkSequencePoint(docWriter14783937, 17, 28, 17, 36)
ilg16555740.MarkLabel(label16555740_1)
ilg16555740.MarkLabel(label16555740_0)
ilg16555740.Emit(OpCodes.Nop)
ilg16555740.Emit(OpCodes.Ldarg, int16 0)
ilg16555740.Emit(OpCodes.Ldfld, fieldBuilder49998812) // field callback
ilg16555740.Emit(OpCodes.Ret)
ilg16555740.MarkLabel(label16555740_2)
let ilg47336128 = methodBuilder159151229.GetILGenerator()
let label47336128_0 = ilg47336128.DefineLabel()
let label47336128_1 = ilg47336128.DefineLabel()
let label47336128_2 = ilg47336128.DefineLabel()
let docWriter23371976 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg47336128.MarkSequencePoint(docWriter23371976, 18, 28, 18, 36)
ilg47336128.MarkLabel(label47336128_1)
ilg47336128.MarkLabel(label47336128_0)
ilg47336128.Emit(OpCodes.Nop)
ilg47336128.Emit(OpCodes.Ldarg, int16 0)
ilg47336128.Emit(OpCodes.Ldfld, fieldBuilder54506685) // field selector
ilg47336128.Emit(OpCodes.Ret)
ilg47336128.MarkLabel(label47336128_2)
typeBuilder41560081.SetCustomAttribute(Void .ctor(Microsoft.FSharp.Core.SourceConstructFlags), [|1uy; 0uy; 3uy; 0uy; 0uy; 0uy; 0uy; 0uy|])
constructorBuilder13189358.DefineParameter(1,enum 0,"callback")
ilg55429698.Emit(OpCodes.Ldarg, int16 0)
ilg55429698.Emit(OpCodes.Call,constructor_FSharpFunc`2)
ilg55429698.Emit(OpCodes.Ldarg, int16 0)
ilg55429698.Emit(OpCodes.Ldarg, int16 1)
ilg55429698.Emit(OpCodes.Stfld, fieldBuilder29105235) // field callback
ilg55429698.Emit(OpCodes.Ret)
methodBuilder1893356988.DefineParameter(1,enum 0,"tupledArg")
let ilg8713795 = methodBuilder1893356988.GetILGenerator()
ilg8713795.DeclareLocal(typeof<System.Object>,false)
ilg8713795.DeclareLocal(typeof<>,false)
let label8713795_0 = ilg8713795.DefineLabel()
let label8713795_1 = ilg8713795.DefineLabel()
let label8713795_2 = ilg8713795.DefineLabel()
let label8713795_3 = ilg8713795.DefineLabel()
let label8713795_4 = ilg8713795.DefineLabel()
let label8713795_5 = ilg8713795.DefineLabel()
let label8713795_6 = ilg8713795.DefineLabel()
let docWriter11315292 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg8713795.MarkSequencePoint(docWriter11315292, 8, 65, 8, 116)
ilg8713795.MarkLabel(label8713795_1)
ilg8713795.MarkLabel(label8713795_0)
ilg8713795.Emit(OpCodes.Ldarg, int16 1)
ilg8713795.Emit(OpCodes.Call, methodBuilder34760343) // method get_Item1
ilg8713795.Emit(OpCodes.Stloc, int16 0)
ilg8713795.MarkLabel(label8713795_2)
ilg8713795.Emit(OpCodes.Ldarg, int16 1)
ilg8713795.Emit(OpCodes.Call, methodBuilder44407631) // method get_Item2
ilg8713795.Emit(OpCodes.Stloc, int16 1)
ilg8713795.Emit(OpCodes.Nop)
ilg8713795.Emit(OpCodes.Ldarg, int16 0)
ilg8713795.Emit(OpCodes.Ldfld, fieldBuilder64124362) // field callback
ilg8713795.Emit(OpCodes.Ldloc, int16 0)
ilg8713795.MarkLabel(label8713795_3)
ilg8713795.Emit(OpCodes.Call, methodBuilder40248354) // method UnboxGeneric
ilg8713795.MarkLabel(label8713795_4)
ilg8713795.Emit(OpCodes.Ldloc, int16 1)
ilg8713795.Emit(OpCodes.Callvirt, methodBuilder26690871) // method Invoke
ilg8713795.Emit(OpCodes.Ldnull)
ilg8713795.Emit(OpCodes.Ret)
ilg8713795.MarkLabel(label8713795_6)
ilg8713795.MarkLabel(label8713795_5)
constructorBuilder16246551.DefineParameter(1,enum 0,"selector")
ilg38891250.Emit(OpCodes.Ldarg, int16 0)
ilg38891250.Emit(OpCodes.Call,constructor_FSharpFunc`2)
ilg38891250.Emit(OpCodes.Ldarg, int16 0)
ilg38891250.Emit(OpCodes.Ldarg, int16 1)
ilg38891250.Emit(OpCodes.Stfld, fieldBuilder14476932) // field selector
ilg38891250.Emit(OpCodes.Ret)
methodBuilder1893356988.DefineParameter(1,enum 0,"state")
let ilg63183526 = methodBuilder1893356988.GetILGenerator()
let label63183526_0 = ilg63183526.DefineLabel()
let docWriter31780825 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg63183526.MarkSequencePoint(docWriter31780825, 9, 45, 9, 75)
ilg63183526.MarkLabel(label63183526_0)
ilg63183526.Emit(OpCodes.Nop)
ilg63183526.Emit(OpCodes.Ldarg, int16 0)
ilg63183526.Emit(OpCodes.Ldfld, fieldBuilder39501348) // field selector
ilg63183526.Emit(OpCodes.Ldarg, int16 1)
ilg63183526.Emit(OpCodes.Callvirt, methodBuilder19967814) // method Invoke
ilg63183526.Emit(OpCodes.Box, typeof<>)
ilg63183526.Emit(OpCodes.Ret)
ilg45492604.Emit(OpCodes.Ldarg, int16 0)
ilg45492604.Emit(OpCodes.Call,constructor_Object)
ilg45492604.Emit(OpCodes.Ret)
methodBuilder1893356988.DefineParameter(1,enum 0,"arg")
let ilg61022284 = methodBuilder1893356988.GetILGenerator()
let label61022284_0 = ilg61022284.DefineLabel()
let docWriter12329649 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg61022284.MarkSequencePoint(docWriter12329649, 28, 53, 28, 69)
ilg61022284.MarkLabel(label61022284_0)
ilg61022284.Emit(OpCodes.Nop)
ilg61022284.Emit(OpCodes.Ldarg, int16 1)
ilg61022284.Emit(OpCodes.Ldfld, fieldBuilder24861802) // field Demo@
ilg61022284.Emit(OpCodes.Ldfld, fieldBuilder31421019) // field Title@
ilg61022284.Emit(OpCodes.Ret)
typeBuilder3056034.SetCustomAttribute(Void .ctor(Microsoft.FSharp.Core.SourceConstructFlags), [|1uy; 0uy; 6uy; 0uy; 0uy; 0uy; 0uy; 0uy|])
ilg42386454.Emit(OpCodes.Ldarg, int16 0)
ilg42386454.Emit(OpCodes.Call,constructor_Object)
ilg42386454.Emit(OpCodes.Ret)
methodBuilder1893356988.DefineParameter(1,enum 0,"arg1")
methodBuilder1893356988.DefineParameter(2,enum 0,"arg2")
let ilg29648085 = methodBuilder1893356988.GetILGenerator()
let label29648085_0 = ilg29648085.DefineLabel()
let label29648085_1 = ilg29648085.DefineLabel()
let label29648085_2 = ilg29648085.DefineLabel()
let docWriter65506178 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg29648085.MarkSequencePoint(docWriter65506178, 29, 41, 29, 56)
ilg29648085.MarkLabel(label29648085_0)
ilg29648085.Emit(OpCodes.Nop)
ilg29648085.Emit(OpCodes.Ldarg, int16 1)
ilg29648085.Emit(OpCodes.Ldarg, int16 2)
ilg29648085.MarkLabel(label29648085_1)
ilg29648085.Emit(OpCodes.Tail_)
ilg29648085.Emit(OpCodes.Call, methodBuilder189482729) // method logSubscription
ilg29648085.Emit(OpCodes.Ret)
ilg29648085.Emit(OpCodes.Ret)
ilg29648085.MarkLabel(label29648085_2)
typeBuilder52203868.SetCustomAttribute(Void .ctor(Microsoft.FSharp.Core.SourceConstructFlags), [|1uy; 0uy; 6uy; 0uy; 0uy; 0uy; 0uy; 0uy|])
let ilg12572829 = methodBuilder28902278.GetILGenerator()
let label12572829_0 = ilg12572829.DefineLabel()
let label12572829_1 = ilg12572829.DefineLabel()
let label12572829_2 = ilg12572829.DefineLabel()
let label12572829_3 = ilg12572829.DefineLabel()
let label12572829_4 = ilg12572829.DefineLabel()
let label12572829_5 = ilg12572829.DefineLabel()
let label12572829_6 = ilg12572829.DefineLabel()
let docWriter46046605 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg12572829.MarkSequencePoint(docWriter46046605, 21, 1, 21, 20)
ilg12572829.MarkLabel(label12572829_1)
ilg12572829.MarkLabel(label12572829_0)
ilg12572829.Emit(OpCodes.Nop)
ilg12572829.MarkLabel(label12572829_2)
ilg12572829.Emit(OpCodes.Newobj,constructor_Store`1)
ilg12572829.MarkLabel(label12572829_3)
ilg12572829.Emit(OpCodes.Stsfld, fieldBuilder30868550) // field store@
let docWriter65737292 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg12572829.MarkSequencePoint(docWriter65737292, 28, 1, 28, 70)
ilg12572829.Emit(OpCodes.Newobj,constructor_selector@28)
ilg12572829.Emit(OpCodes.Ldftn, methodBuilder1893356988) // method Invoke
ilg12572829.Emit(OpCodes.Newobj,constructor_Func`2)
ilg12572829.Emit(OpCodes.Stsfld, fieldBuilder9381496) // field selector@
let docWriter45797138 = moduleBuilder43527150.DefineDocument(@"D:\code\visualfsharp\debug\net40\bin\test.fsx",System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"),System.Guid("00000000-0000-0000-0000-000000000000"))
ilg12572829.MarkSequencePoint(docWriter45797138, 29, 1, 29, 56)
ilg12572829.Emit(OpCodes.Newobj,constructor_callback@29)
ilg12572829.Emit(OpCodes.Ldftn, methodBuilder1893356988) // method Invoke
ilg12572829.Emit(OpCodes.Newobj,constructor_Action`2)
ilg12572829.Emit(OpCodes.Stsfld, fieldBuilder17324607) // field callback@
ilg12572829.Emit(OpCodes.Call, methodBuilder1197575243) // method get_store
ilg12572829.Emit(OpCodes.Call, methodBuilder159149981) // method get_selector
ilg12572829.Emit(OpCodes.Call, methodBuilder1922111056) // method get_callback
ilg12572829.MarkLabel(label12572829_4)
ilg12572829.Emit(OpCodes.Callvirt, methodBuilder33459681) // method Subscribe
ilg12572829.MarkLabel(label12572829_5)
ilg12572829.Emit(OpCodes.Stsfld, fieldBuilder21703739) // field it@
ilg12572829.MarkLabel(label12572829_6)
ilg12572829.Emit(OpCodes.Ret)
typeBuilder66824994.CreateType()
typeBuilder14993092.CreateType()
typeBuilder55196503.CreateType()
typeBuilder24827179.CreateType()
typeBuilder41560081.CreateType()
typeBuilder44325851.CreateType()
typeBuilder21224086.CreateType()
typeBuilder3056034.CreateType()
typeBuilder52203868.CreateType()
typeBuilder53046711.CreateType()
typeBuilder32701678.CreateType()
typeBuilder25879650.CreateType()
typeBuilder31590262.CreateType()
typeBuilder15876907.CreateType()
typeBuilder8674443.CreateType()
typeBuilder10961125.CreateType()
typeBuilder31541268.CreateType()
typeBuilder15435960.CreateType()
typeBuilder4705914.CreateType()
typeBuilder42353227.CreateType()
typeBuilder42353227.InvokeMember("main@",enum 280,null,null,[||],Globalization.CultureInfo.InvariantCulture)
@forki Thanks. This must be a bug with Mono's Reflection.Emit. I'll get it looked at.
A little strange if it works on VS for Mac but not fsharpi though. VS for Mac uses FCS to compile whereas fsharpi is using fsharp/fsharp. Might just need fsharp/fsharp to be bumped in mono. Will check.
updated my comment with the full trace
@aspnetde When you say it works on VS for Mac, you mean as a compiled exe, not via F# Interactive inside VS for Mac?
I bumped F# to 4.1.24 in Mono 5.4.0.136 and the issue is still there.
@nosami
When you say it works on VS for Mac, you mean as a compiled exe, not via F# Interactive inside VS for Mac?
Right. Doesn't matter if I run it against F# Interactive from command line, VS for Mac, or Visual Studio Code.
Tested with mono 4.8.0.334 and it's working :(
mono is mono again.
I wished it would be duo.
fsharpi has never ever been stable on mono, that why I never use it.
Each one of these Reflection.Emit bugs are getting regression tests added where there were none before. Unfortunately, fsharpi is the biggest source of Reflection.Emit bugs. The bugs are rarely seen by C# devs.
As I am a C# dev by day, I have seen a lot of different bugs with 5.x. Have a whole Xamarin build system still downgraded to 4.8. Not the best release the world has seen ...
@nosami I would argue F# is not the source of the bugs. ;-)
I didn't say that it was :) Just wanted to eliminate it before proceeding :)
Unfortunately, fsharpi is the biggest source of Reflection.Emit bugs.
Ah, I meant to say that fsharpi is probably the biggest consumer of the Reflection.Emit APIs
Closing in favor of the Mono bug.
Most helpful comment
Ah, I meant to say that fsharpi is probably the biggest consumer of the Reflection.Emit APIs