Thank you for the correction. I should’ve checked that before, that was dumb of me.
I’ve been experimenting and searching for solutions, and it seems there’s no way of resolving the ambiguity issue when using Unions.
Did find a somewhat better solution, using @eval
to generate methods for each types.
for T in (:(Tuple{Vararg{Int}}), :Int)
@eval Base.hvcat(blocks_per_row::$T, foos::Foo...)=Foo()
end
I guess this is the next best thing you can try when Unions can’t do the job.