# 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