Arguably, when we do 1.0f0u"m", the floating point backing type should remain Float32 rather than being converted to Float64:
julia> (1.0f0u"m").value
1.0
In general, there's a question of what type we should choose for the quantity value. In theory, we could even keep integers as integers, i.e. 1u"m" would remain 1 m. But perhaps we would want to enforce floating point, in which case something like float(T) might make sense.