Using a `Measurement` of a type-erased `Dimension` allows non homogeneous conversions

I was playing with the Measurement API of Foundation and noticed that when the Measurement's Unit type is erased to Dimension instead of using a "concrete" type (such as UnitTime or UnitLength), for say dealing with a value of unknown unit at compile time, then, the unit type is not checked during conversion and can does not fail:

import Foundation

let height = Measurement<Dimension>(value: 175, unit: UnitLength.centimeters)
print("I'm \(height.converted(to: UnitMass.baseUnit())) tall.")

I know that this API is probably not intended to be used in this way and that "a value of unknown unit at compile time" is basically a Double, but this behavior could be dangerous and the good practice is not well documented IMO.

Is this intended or some precondition is missing in the convert/converted methods?