is the UNO representation of the Automation type CY, also know
as CURRENCY.
A CY could actually be represented as hyper in UNO
and therefore a typedef from hyper to a currency type would do.
But a typedef cannot be expressed in all language bindings. In the case
where no typedefs are supported the actual type is used. That is, a
typedef'd currency type would be represented as long in Java.
The information that the long is a currency type is lost.
When calling Automation objects from UNO the distinction between
hyper and a currency type is important. Therefore
Currency is declared as struct.