Thank you very much! That was the nudge I needed. I saw association
proxies in the docs, but wasn't sure that was what I wanted. It was!
I had considered making the credits table an object, but wasn't sure it was
the correct way. By doing that, in combo with an accessor property on
Credit
Maybe someone can fill in the details here, but the credit pair as tuple is
something you'd do with association proxy. Model plain relationships from
document to credit, then credit to role and person; then add an accessor to
credit called person_role_tuple, then the association proxy is on