I wish pipes would transfer more than just text to avoid re-parsing.
Could I introduce you to https://www.nushell.sh/, kind sir?
Started using it last year and being able to type ‘ls | sort-by modified -r | take 5’ feels liberating.
To be fair they really transfer bytes, which can be any data format you want.
Pipes don't transfer text, they transfer a unformatted byte stream. The commands however do expect a particular format. There is going to be serialization/parsing regardless of the format the command expects. Even if it is an internal object format as found in powershell commands.