I am not too sure but I would say that multiple unrelated expressions are parsed as a block so (x;y) is a valid block. You can then replace (x;y) by begin; x; y; end in the function declaration.
julia> :((x;y)) |> dump
Expr
head: Symbol block
args: Array{Any}((3,))
1: Symbol x
2: LineNumberNode
line: Int64 1
file: Symbol REPL[1]
3: Symbol y