The documentation says  "get" but the method is named "set...". Is it always the case that we set the size and the rank together? Or should the functionality be implemented using two different methods: ```setSize()``` and ```setRank()```? Is ```size``` the maximal possible rank? Can you document this please?