Prevent Unitful.jl conversion between monetary units

I’ve tried defining two different monetary units using

using Unitful: @dimension, @refunit, @u_str, uconvert

@dimension MU "MU" MonetaryUnit
@refunit USD "USD" USDollar MU false
@refunit EUR "EUR" Euro MU false

which unfortunately also results in an automatic conversion

uconvert(u"EUR", 1000u"USD")   # 1000 EUR

What would be the proper way to define both EUR and USD, to e.g. allow conversions from "EUR/s" to "EUR/hr" or "USD/s" to "USD/hr", while making sure that any conversion switching between monetary units fails?

I think the issue is that both are refunits. Instead, you should choose one currency as the reference and define all others in terms of that reference.

You can make each currency unit have its own dimension.