Kind vs Rank na teoria dos tipos

Eu estou tendo dificuldade em entender os tipos Higher Kind vs Higher Rank. Kind é bem simples (graças à literatura de Haskell para isso) e eu costumava pensar que rank é como um tipo quando se fala de tipos, mas aparentemente não! Eu li o artigo da Wikipedia sem sucesso. Então alguém pode por favor explicar o que é um Rank? e o que se entende por Higher Rank? Polimorfismo de Grau Mais Alto? como isso vem para os tipos (se houver)? Comparar Scala e Haskell também seria ótimo.

questionAnswers(1)

yourAnswerToTheQuestion