Still about the $ in PS

I tried to modify security setting in WSWAN ,
Which is setting the value of WSMan:\localhost\Service\Auth\CredSSP. Its type of this value is Boolean. I tried to set that value to $true or true , both of them work well.

So the question here is , when I ignore the $,the value will become a string, it is not a value of Boolean , but why it still work ,without error, is it a convention in the context of WSMAN ?

PS C:\> Set-Item -Path WSMan:\localhost\Service\Auth\CredSSP -Value $true

PS C:\> ls WSMan:\localhost\Service\Auth\CredSSP


   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Service\Auth

Type            Name                           SourceOfValue   Value                                                              
----            ----                           -------------   -----                                                              
System.String   CredSSP                                        true                                                               



PS C:\> Set-Item -Path WSMan:\localhost\Service\Auth\CredSSP -Value true

PS C:\> ls WSMan:\localhost\Service\Auth\CredSSP


   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Service\Auth

Type            Name                           SourceOfValue   Value                                                              
----            ----                           -------------   -----                                                              
System.String   CredSSP                                        true                                                               



PS C:\> Set-Item -Path WSMan:\localhost\Service\Auth\CredSSP -Value $false

PS C:\> ls WSMan:\localhost\Service\Auth\CredSSP


   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Service\Auth

Type            Name                           SourceOfValue   Value                                                              
----            ----                           -------------   -----                                                              
System.String   CredSSP                                        false                                                              



PS C:\> Set-Item -Path WSMan:\localhost\Service\Auth\CredSSP -Value false

PS C:\> ls WSMan:\localhost\Service\Auth\CredSSP


   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Service\Auth

Type            Name                           SourceOfValue   Value                                                              
----            ----                           -------------   -----                                                              
System.String   CredSSP                                        false

WSMAN does’t require it to be boolean, when we use $true it gets converted to string ‘true’ while setting it in the WSMAN configuration.