Description
The linker can/should automatically remove any .NET manifest assembly resources named FSharpSignatureData.*
and FSharpOptimizationData.*
during linking.
These are only ever needed for F# compilation which doesn't happen on-device and given the aims of the linker it is reasonable to assume this data is unreachable.
My understanding is that removing these would trim about 1.5MB off the size of all applications using FSharp.Core.dll, and about 3MB off all applications using Elmish.XamarinForms.dll.
Here's an example of how the resources look in ILDASM:
.mresource public FSharpSignatureData.Elmish.XamarinForms
.mresource public FSharpOptimizationData.Elmish.XamarinForms
Thanks