The number of parameters is followed by an optional list of of modifiers, starting with a letter to indicate the parameter rank and optionally swapping the case from the previous letter in case the type at this position is also higher kinded.
Examples:
[_]
- 1
[_, _]
- 2
[_[_], _]
- 2a1
[_, _[_]]
- 2b2
[_[_[_]], _]
- 2a1A1
[_, _[_[_]]]
- 2b1A1
[_[_, [_]], _]
- 2a2B1