Use rank-N types instead of rank-2
Swirly swirly