Cannot make two type sequences equal to each other?

func conceptualizeTypes<First, each FirstMiddle, each Middle, Last>(
    first: First,
    startMiddle: repeat each FirstMiddle,
    middle: repeat each Middle,
    lastMiddle: (repeat each Middle, Last),
    last: Last
) where (repeat each FirstMiddle) == (First, repeat each Middle) {}

I'm trying to make the FirstMiddle equivalent to (First, repeat each Middle), but there is a compiler error: Generic signature requires types '(repeat each FirstMiddle)' and '(First, repeat each Middle) to be the same. Is this just a current limitation of variadic generics or is it part of the design?