Why `ARGV` got `aa;"bb"` when I call `func("aa";"bb")`?

Why the following code outputs aa;”bb”, instead of aa;bb or “aa”;”bb”?

function(func)
    message("${ARGV}")
endfunction()

func("aa";"bb")