Could `AssignRank` be a `Rank * int` instead?

I do realize that `Assign` is declared as a string, and that it would be a good idea to do something about that as well, but that's an existing design flaw...