function Pop-TypeData
        Removes Type information from the current session.
        Pop-TypeData command removes dynamically created type data from the current session.

    # The name of the Type module. If there is only one type name,then
    # this is the name of the module.

    process {
        # Use @() to walk the hashtable first,
        # so we can modify it within the foreach
        foreach ($kv in @($TypeModules.GetEnumerator())) {
            if ($psCmdlet.ParameterSetName -eq "ByModuleName") {
                if ($kv.Key -eq $ModuleName) {
                    Remove-Module $kv.Key
                    $null = $TypeModules.Remove($kv.Key)