#get_rate implementation

it's moved from `exchange_with`.