Instances of literal bindings assigned units of measure compile, but don't carry the measure.
Code to reproduce
type [<Measure>] rad
[<Literal>]
let pi = 3.14
let a = pi<rad>
let f (a:float<rad>) = a
f a
Expected behavior
Either an error on the assignment of a, or for f to accept pi
Actual behavior
Error FS0001 This expression was expected to have type
'float<rad>'
but here has type
'float' F#
Known workarounds
let a = pi*1.<rad>
Related information
Yes the <rad> annotation in pi<rad> is being ignored when it should give an error
OR: @dsyme we could allow this, after all it makes sense to allow literal bindings to be augmented as measures just like literal values. Could add it here: https://github.com/fsharp/fslang-design/issues/496