聞きたいのはそういう類じゃないんだな
echo (=Write-Output) のSyntaxが

Write-Output [-InputObject] <PSObject> [-NoEnumerate] [<CommonParameters>]

だからa が-InputObjectの<PSObject>になるのはわかる
bやcはどういう理屈で処理されるの?