Matching function parameter to Type in parameter pack

I'm trying to remove a type from a parameter pack by "division" if you will. But the compiler tells me function/operator cannot be applied to the given operands. Is this expected behaviour or can I achieve this in a different way perhaps?

struct V<each U> { }

func /<each U1, each U2, U>(lhs: V<repeat each U1, U, repeat each U2>, rhs: V<U>) -> V<repeat each U1, repeat each U2> {

let v1 = V<Int, Int, String, Int>()
let v2 = V<String>()

let v3 = v1 / v2 // Binary operator '/' cannot be applied to operands of type 'V<Int, Int, String, Int>' and 'V<String>'
// I would have expected v3 to be of type V<Int, Int, Int>