title: foreach loop for a complex dictionary is incorrect
body: <p>I'm using Windows 7 and PowerGUI Script Editor to write a ps1.
  Here's a part of my codes:</p>
  
  <pre><code>#In global scope
  $Type_Trans = "System.Collections.Generic.Dictionary[System.String,PSObject]"
  $Type_Farms = "System.Collections.Generic.Dictionary[System.Int32,$Type_Trans]"
  
  $Dic_Counts = New-Object $Type_Farms
  
  #...puts some data in $Dic_Counts here...
  #It is no problem with printing out it in console
  
  #Now call the function below
  Write-Data $Dic_Counts
  
  Function Write-Data
  {
      param(
          $Dic_Counts
      )
  
      Foreach($Dic_CountsSingle in $Dic_Counts)
      {
          Write-DataSingle $Dic_CountsSingle  #THIS LINE!
      }
  }
  </code></pre>
  
  <p>It's very strange here: why is <code>Dic_CountsSingle</code> not a <code>KeyValuePair</code>, but is just the same as <code>Dic_Counts</code>??</p>
  
  <p>Thank you very much!</p>