I can try... :)
Passing the current object in the pipeline $_ in a ScriptBlock ensures that the Cmdlet displays the Object and not one of the Object's properties to display.
You could also pass the $_ in a calculated property as a Hashtable instead.
The Format-* Cmdlets rely on a predetermined structure (View) provided by the system or extended by the user.
These Views target specific Types and, most of the time, one or more of their properties.
When a Type does not have a View, the system uses the default view.
This is why Format-Wide returns each object in its own row, instead of columns.
To coerce Fomat-Wide to _not_ implement the default view, use the -Force switch.
# pass the current object in the pipeline $_ in a ScriptBlock
'1', '2', '3', '4', '5' | Format-Wide {$_} -AutoSize -Force
# passing the current object in the pipeline $_ in a calculated property
'1', '2', '3', '4', '5' | fw @{Expression = {$_}} -AutoSize -Force
# here the Object's type is String, and String's Length is displayed
'1', '2', '3', '4', '5' | Format-Wide -AutoSize -Force
--
Robert