Can currency really be `null`? It can be `null` in the constructor parameters, but it's currently always set.