Třeba F# má ve standardní knihovně SI jednotky. Takže stačí psát
open FSharp.Data.UnitSystems.SI.UnitSymbols let v = 5<m/s> let t = 10<s> let dist = v * t
a kompilátor i IDE odvodí pomocí typové inference, že dist
má typ int<m>
.
Výhoda pak je, že kompilátor zabráním problémům ještě před spuštěním programu