I'd be leary of basing Currency off of ScaledDecimal, especially if there is to be much manipulation of it (such as multiplication or division). The reason is that ScaledDecimal keeps the representation of their numbers as fractions under the covers - which can results in some odd (and incorrect) results.