abstract types and currencies