Tipo genérico de tipo genérico en Powershell

Bueno, los genéricos en Powershel son bastante confusos. Para instanciar una lista simple necesitas bailar con una pandereta:

$type = ("System.Collections.Generic.List"+'`'+"1") -as "Type"
$type= $type.MakeGenericType("System.string" -as "Type")
$o = [Activator]::CreateInstance($type)

Pero qué pasa si necesito algo un poco más complejo como:<Dictionary<string,List<Foo>> por ejemplo

o por ejemplo aquí:Dictionary<string,List<string>>

$listType = ("System.Collections.Generic.List"+'`'+"1") -as "Type"
$listType = $listType.MakeGenericType("System.string" -as "Type")
$L = [Activator]::CreateInstance($listType)

$dicType = ("System.Collections.Generic.Dictionary"+'`'+"2") -as "Type"

#the next line is problematic
$dicType = $dicType.MakeGenericType( 
     @( ("system.string" -as "Type"), 
        ("System.Collections.Generic.List" as "Type)) # and that's of course wrong
      )

$D = [Activator]::CreateInstance($dicType )

Respuestas a la pregunta(4)

Su respuesta a la pregunta