convert_rate can be refactored to reduce the number of cases
we should have an if/else for the known patterns, each of which then calls its own specialized conversion function (which I need to make) for the case.
for example, there are 4 x 4 different cases for the 4 different patterns, if each pattern had its own function for converting to the other patterns, we'd need just 4 cases, otherwise the function will grow exponentially as we discover more patterns
convert_rate can be refactored to reduce the number of cases
we should have an if/else for the known patterns, each of which then calls its own specialized conversion function (which I need to make) for the case.
for example, there are 4 x 4 different cases for the 4 different patterns, if each pattern had its own function for converting to the other patterns, we'd need just 4 cases, otherwise the function will grow exponentially as we discover more patterns