Draft: fix the computation of the rank
- tries to address #5 (closed)
- exact same as !37 (merged) but with another fix for the algorithm itself
Note
- the range bb74f35f to e27561bb is common with !37 (merged)
- only the last commit, 4a8dc8d1, diverges from the few last commits of !37 (merged)