Problem
(a) Design a Money abstract type, whose values are amounts of money expressed in your own currency. Equip your abstract type with operations such as addition and subtraction of amounts of money, and multiplication by a given integer.
(b) Suggest an efficient representation for your abstract type. Use any suitable programming language.