# Usage in FSharp Argon ships F# support in a separate nuget [Argon.FSharp](https://www.nuget.org/packages/Argon.FSharp/). To serialize F# types properly, add the converters: ```fs VerifierSettings.AddExtraSettings(fun settings -> settings.AddFSharpConverters()) ``` ## DefaultValueHandling By default [DefaultValueHandling is Ignore](/docs/serializer-settings.md#default-settings). Since F# `Option.None` is treated as null, it will be ignored by default. To include `Option.None` use `VerifierSettings.AddExtraSettings` at module startup: ```fs VerifierSettings.AddExtraSettings(fun settings -> settings.DefaultValueHandling <- DefaultValueHandling.Include) ``` snippet source | anchor ## Async Qwerks F# does not respect implicit operator conversion. `SettingsTask` uses implicit operator conversion to provide a fluent api in combination with an instance that can be awaited. As such `SettingsTask.ToTask()` needs to be awaited when used inside F#. ```fs [] let MyTest () = Verifier.Verify(15).ToTask() |> Async.AwaitTask ``` snippet source | anchor ## Full tests ```fs module Tests open Xunit open VerifyTests open VerifyXunit open Argon VerifierSettings.AddExtraSettings(fun settings -> settings.DefaultValueHandling <- DefaultValueHandling.Include) [] let MyTest () = Verifier.Verify(15).ToTask() |> Async.AwaitTask [] let WithFluentSetting () = Verifier .Verify(15) .UseMethodName("customName") .ToTask() |> Async.AwaitTask do () ``` snippet source | anchor