### Prerequisites - [X] Write a descriptive title. - [X] Make sure you are able to repro it on the [latest released version](https://github.com/PowerShell/PowerShell/releases) - [X] Search the existing issues. - [X] Refer to the [FAQ](https://github.com/PowerShell/PowerShell/blob/master/docs/FAQ.md). - [X] Refer to [Differences between Windows PowerShell 5.1 and PowerShell](https://learn.microsoft.com/powershell/scripting/whats-new/differences-from-windows-powershell). ### Steps to reproduce Note: * Arguably, the stringification of an incidentally `[psobject]`-wrapped value makes _more_ sense. * See also: #20383 * Ultimately, this is yet another manifestation of #5579 in that the way in which the calculated property's value is created involves an incidental (and otherwise invisible) `[psobject]` wrapper. ```powershell & { [psobject]::new() | Select-Object @{Name = "Groups"; Expression = { 'a', 'b', 'c' } } [pscustomobject] @{ Groups = 'a', 'b', 'c' } } | ConvertTo-Csv ``` ### Expected behavior ```console "Groups" "a b c" "a b c" ``` ### Actual behavior ```console "Groups" "a b c" "System.Object[]" ``` That is, without the incidental `[psobject]` wrapper, simple `.ToString()` stringification was applied. ### Error details _No response_ ### Environment data ```powershell PowerShell 7.4.0-preview.6 ``` ### Visuals _No response_