It would be great if a transaction utilised any balance in the currency before converting more GBP into the currency.
The example I had is where I transferred the EUR117 required for my hotel pre-payment into EUR. The Hotel for some reason took a EUR1 authorisation amount from my card before processing. When the payment went to process, the EUR1 had not been returned, resulting in my balance being EUR116. When Revolut considered the payment of EUR117, the balance was EUR116, so the full amount was converted and taken from my GBP balance. Leaving me with EUR116 to convert back to GBP.
Ideally the card would have taken the EUR116 and converted EUR1.