Implementing RawRepresentable, RawValue == String using Codable: keep it DRY for implementation of multiple types: did I do this right?

We decided to support either Double or Decimal with:

typealias DataType = Double or Decimal

and write code that allow this change. I can write the same code for either types, except with @AppStorage, which I fix with your implementation of Decimal: RawRepresentable.

Take a look at this and this thread and tell me if I should worry.