Additional inconsistency is that is_goods_type_in_range() would accept "Local" range, if the ruleset loading would ever let it through. As currently implemented, it's identical to "City" range, but I guess the idea might have been that it should check if the local tile has a city with the good imported, i.e., there would be slight semantic difference between "Local" and "City" causing evaluation to be against different city in some cases.
As the ruleset loading time checks guard against ever getting Good requirement with "Local" range, resolving this issue is not urgent, end especially a solution where the functionality gets extended can only occur in later branches that are not yet d3f.
Note that all non-d3f branches (i.e. currently only master) have had any functionality such as what is described above moved out of the "Local" range into the new "Tile" range.
When looking #42944
Additional inconsistency is that is_goods_type_in_range() would accept "Local" range, if the ruleset loading would ever let it through. As currently implemented, it's identical to "City" range, but I guess the idea might have been that it should check if the local tile has a city with the good imported, i.e., there would be slight semantic difference between "Local" and "City" causing evaluation to be against different city in some cases.
As the ruleset loading time checks guard against ever getting Good requirement with "Local" range, resolving this issue is not urgent, end especially a solution where the functionality gets extended can only occur in later branches that are not yet d3f.