How do you wrap types in F#?

One short and simple approach is to use Single Case Union Types – a Union Type with exactly one case of some type. Note that the add function uses case unwrapped arguments which enables access to the inner type.

Type wrapping in F#
Code Snippet
type UnitQuantity = UnitQuantity of int
let add (UnitQuantity a) (UnitQuantity b) = a + b
add (UnitQuantity 1) (UnitQuantity 2) |> printfn "%i"