PowerShellでは文字列の配列に対して String クラスのメソッド、例えば Replace() などが呼び出せるようですが、これはどういう仕様によるものなのでしょうか?

PS C:\> $arr = "abc","abc"

PS C:\> $arr
abc
abc

PS C:\> $arr.GetType()

IsPublic IsSerial Name                                     BaseType                                                                                                                                         
-------- -------- ----                                     --------                                                                                                                                         
True     True     Object[]                                 System.Array  

PS C:\> $arr.Replace('b', '_')
a_c
a_c

GetType() で型を取得してもただの Object[] ですし、Get-Member で見てもこのメソッドは存在しません。Count のようにエイリアスが追加されているというわけでもないようです。