WithoutVat and WithVat. I want to keep them distinct from each other and do some limited arithmetic that preserves their types.WithoutVat and WithVat values.Price class, but then I'd somehow need to reference the subtype within the Price methods, for their parameters and return values.