JET.jl Invalid Type Signature

I was trying to use JET.jl to analyze a package and I ran into a type signature error. I have a toy example that reproduces the same issue.

module Test

ParamType = Union{Tuple{Real, Vararg{Real, N} where N}, Tuple{Real, Real}}
OptParamType = Vector{T} where T <: ParamType

function f(o::OptParamType)
    return true
end

end

I have this saved as Test.jl and when I try to use report_file("Test.jl") I get the following:

julia> report_file("Test.jl")
[toplevel-info] virtualized the context of Main (took 0.003 sec)
[toplevel-info] entered into Test.jl
[toplevel-info]  exited from Test.jl (took 0.053 sec)
═════ 1 toplevel error found ═════
┌ @ Test.jl:6
│ ArgumentError: invalid type for argument o in method definition for f at Test.jl:6
└─────────────
(included_files = Set(["Test.jl"]), nreported = 1)

I’ve seen other messages that suggest I should use concretization_patterns to fix this but I have no idea how to use it in this example. The main problem seems to be from having Vararg in the type signature. I’ve tried following some examples from the workshop given by @aviatesk but I’m not experienced enough to solve this so I’d love feedback. Thanks.

Looks like a bug in JET.jl. Made an issue: Bug: "Invalid type argument" for valid type argument · Issue #237 · aviatesk/JET.jl · GitHub