Cannot rule out types by checking for present key in array shape union

Bug report

Having array{a: string}|array{b: string}, checking for isset($arr['a']) should narrow the type to array{a: string}

Code snippet that reproduces the problem

https://phpstan.org/r/e3af8d32-e114-49bd-a4ef-469e46ab03e1

Expected output

No errors