<p>This is more of an academic inquiry than a practical question.  Are there any language or framework features that can, or will in future, allow a heterogeneous typed dcitionary, e.g. </p>

<pre><code>myDict.Add("Name", "Bill"); 
myDict.Add("Height", 1.2); 
</code></pre>

<p>where myDict now contains not two <code>object</code> types as values, but one <code>string</code> and one <code>double</code>?  I could then retrieve my <code>double</code> with </p>

<pre><code>double dbl = myDict["Height"];
</code></pre>

<p>and expect a double or an exception to be thrown?</p>

<p>Please note:  The Name and Height values are not necessarily of the same object.</p>

You can use Generic
```
Dictionary<object, object>
```
; object type for key and object type for value. C# could help.