Setfield.jl for parametric type

struct B{T, X, Y}
    x::X
    y::Y
end

B{T}(x::X, y::Y = 2) where {T, X, Y} = B{T, X, Y}(x, y)

b = B{Int}(2,3)

Setfield.@set b.x = 512 # fails