Frank Hileman wonders about the Length type in a comment on a usability post to Steven Clarke's blog. Here is his comment:
“..., like Length to represent a scalar. It is a scalar, why not use a double? This is what users want.“
Length is more than just the scalar value. It also represents the units – thus Length allows specification in points, device independent pixels, centimeters, etc. While one could imagine just taking doubles and having utlity functions to convert unit-based values into doubles, Length also allows for relative unit specification – for instance 62.5%. This is not convertible by the user into a double value, thus a structure, like Length, is required to represent it.