We currently allow some really weird stuff with keyword arguments going before or even between positional arguments:
julia> f(a; b, c) = a + b + c
f (generic function with 1 method)
julia> c = 3
3
julia> f(1, b=2; c)
6
julia> f(b=2, 1; c)
6
I think that this was likely a mistake, and now that we have synatx evolution, we should probably just make this a syntax error.