I went back and forth on this. Agreed that shadowing a builtin isn't ideal. In practice, because it is third, most calls that provide this argument are going to have to specify the keyword, so something shorter like `rtype` or `reltype` or `typ` strikes me as less annoying to type than `relation_type`. The advantage of `type` is that it's both short and memorable, as it matches the key in the data structure.

If it's just about readability of the function body, would it be better to keep `type` in the signature and then have `relation_type = type` as the first line in the body, so `relation_type` will replace `type` afterwards?