Duplicated keyword arguments and splats

Is this expected? Keyword arguments get de-duplicated with splatting, but not when written explicitely.

julia> function foo(; a)
           1
       end
foo (generic function with 1 method)

julia> foo(; (a=1,)...)
1

julia> foo(; (a=1,)..., a = 2)
1

julia> foo(; a=1, a = 2)
ERROR: syntax: keyword argument "a" repeated in call to "foo" around REPL[28]:1
Stacktrace:
 [1] top-level scope
   @ REPL[28]:100: