Hello! I'm finding that array_first() with null coalescing operator loses type.
$number = $arr[0]->number ?? new Number('0.00'); will correctly yield (local variable) Number $number.
$number = array_first($arr)->number ?? new Number('0.00'); yields (local variable) $number without type.