Neat. It seems to me like this is filling three separate gaps:
- fixed point arithmetic
- tagging values with units
- localization for parsing currency names into units
I'm curious if Kotlin's type system is expressive enough to allow you to catch at compile time cases where you might be trying to, e.g. add USD to GBP.